public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Than Ngo <than@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/chromium] epel9-next: Fix FTBFS on ppc64le
Date: Fri, 07 Aug 2026 16:07:50 GMT	[thread overview]
Message-ID: <178611887021.1.4546626043670199073.rpms-chromium-9175afe7bfaf@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 9175afe7bfaf5b535a7c2b4ca75819a3fd2f30f4
Author : Than Ngo <than@redhat.com>
Date   : 2025-05-29T11:17:57+02:00
Stats  : +80717/-0 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/9175afe7bfaf5b535a7c2b4ca75819a3fd2f30f4?branch=epel9-next

Log:
Fix FTBFS on ppc64le

---
diff --git a/0001-add-xnn-ppc64el-support.patch b/0001-add-xnn-ppc64el-support.patch
new file mode 100644
index 0000000..4285096
--- /dev/null
+++ b/0001-add-xnn-ppc64el-support.patch
@@ -0,0 +1,31 @@
+--- a/third_party/xnnpack/generate_build_gn.py
++++ b/third_party/xnnpack/generate_build_gn.py
+@@ -236,7 +236,10 @@
+     _Platform(gn_cpu='x64', bazel_cpu='k8', bazel_platform='//:linux_x64'),
+     _Platform(gn_cpu='arm64',
+               bazel_cpu='aarch64',
+-              bazel_platform='//:linux_aarch64')
++              bazel_platform='//:linux_aarch64'),
++    _Platform(gn_cpu='ppc64',
++              bazel_cpu='ppc64le',
++              bazel_platform='//:linux_ppc64le')
+ ]
+ 
+ 
+--- a/third_party/xnnpack/bazelroot/BUILD
++++ b/third_party/xnnpack/bazelroot/BUILD
+@@ -21,6 +21,14 @@
+     ],
+ )
+ 
++platform(
++    name = "linux_ppc64le",
++    constraint_values = [
++        "@platforms//os:linux",
++        "@platforms//cpu:ppc64le",
++    ],
++)
++
+ # A dummy clang toolchain for building them for any arch.
+ 
+ filegroup(name = "empty")

diff --git a/0002-regenerate-xnn-buildgn.patch b/0002-regenerate-xnn-buildgn.patch
new file mode 100644
index 0000000..78977f4
--- /dev/null
+++ b/0002-regenerate-xnn-buildgn.patch
@@ -0,0 +1,80681 @@
+File regenerated by running 'python3 generate_build_gn.py'
+
+--- a/third_party/xnnpack/BUILD.gn
++++ b/third_party/xnnpack/BUILD.gn
+@@ -25,7 +25,7 @@
+     "src",
+   ]
+ 
+-  cflags = [
++  cflags=[
+     "-Wno-unused-function",
+     "-Wno-deprecated-comma-subscript",
+   ]
+@@ -54,11 +54,15 @@
+   }
+ 
+   if (current_cpu == "x86" || current_cpu == "x64") {
+-    defines += [ "XNN_ENABLE_AVXVNNI=1" ]
++    defines += [
++      "XNN_ENABLE_AVXVNNI=1",
++    ]
+   }
+ }
+ 
++
+ if (current_cpu == "x64" || current_cpu == "x86") {
++
+   xnnpack_deps = [
+     ":configs_x64",
+     ":enums_x64",
+@@ -545,7 +549,7 @@
+     ":xx-fill_x64",
+     ":xx-pad_sse2-no-sse3",
+     ":xx-pad_x64",
+-    ":xx-transposev_x64",
++    ":xx-transposev_x64"
+   ]
+ 
+   xnnpack_standalone_deps = [
+@@ -572,8 +576,8 @@
+     ":f16-qu8-vcvt_x64_standalone",
+     ":f16-raddstoreexpminusmax_f16c-fma-avx2_standalone",
+     ":f16-rdminmax_x64_standalone",
+-    ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone",
+     ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone",
+     ":f16-rminmax_f16c-no-avx2-no-fma_standalone",
+     ":f16-rminmax_x64_standalone",
+     ":f16-vapproxgelu_x64_standalone",
+@@ -776,47 +780,47 @@
+     ":qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone",
+     ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone",
+-    ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone",
+-    ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone",
+-    ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone",
+     ":qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone",
+-    ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone",
+     ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone",
+     ":qd8-f32-qb4w-gemm_sse2-no-sse3_standalone",
+     ":qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone",
+     ":qd8-f32-qb4w-gemm_x64_standalone",
+     ":qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone",
+-    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone",
+-    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone",
++    ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qd8-f32-qc4w-gemm_sse2-no-sse3_standalone",
+     ":qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone",
+     ":qd8-f32-qc4w-gemm_x64_standalone",
+     ":qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone",
+-    ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qd8-f32-qc8w-gemm_sse2-no-sse3_standalone",
+     ":qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone",
+     ":qd8-f32-qc8w-gemm_x64_standalone",
+     ":qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone",
+-    ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qd8-f32-qc8w-igemm_sse2-no-sse3_standalone",
+     ":qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone",
+     ":qd8-f32-qc8w-igemm_x64_standalone",
+@@ -847,9 +851,9 @@
+     ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone",
+     ":qs8-qc8w-gemm_f16c-fma-avx2_standalone",
+-    ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qs8-qc8w-gemm_sse2-no-sse3_standalone",
+     ":qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone",
+     ":qs8-qc8w-gemm_x64_standalone",
+@@ -857,9 +861,9 @@
+     ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone",
+     ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone",
+     ":qs8-qc8w-igemm_f16c-fma-avx2_standalone",
+-    ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+-    ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
++    ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone",
+     ":qs8-qc8w-igemm_sse2-no-sse3_standalone",
+     ":qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone",
+     ":qs8-qc8w-igemm_x64_standalone",
+@@ -872,8 +876,8 @@
+     ":qs8-rdsum_x64_standalone",
+     ":qs8-rsum_avx2-avxvnni-f16c-fma_standalone",
+     ":qs8-rsum_f16c-fma-avx2_standalone",
+-    ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone",
+     ":qs8-rsum_ssse3-no-sse4.1_standalone",
+     ":qs8-rsum_x64_standalone",
+     ":qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone",
+@@ -1021,8 +1025,8 @@
+     ":x64-transposec_x64_standalone",
+     ":x8-lut_avx-no-avx2-no-f16c-no-fma_standalone",
+     ":x8-lut_f16c-fma-avx2_standalone",
+-    ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone",
+     ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone",
++    ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone",
+     ":x8-lut_x64_standalone",
+     ":x8-packq_x64_standalone",
+     ":x8-packw_x64_standalone",
+@@ -1034,9 +1038,11 @@
+     ":xx-fill_x64_standalone",
+     ":xx-pad_sse2-no-sse3_standalone",
+     ":xx-pad_x64_standalone",
+-    ":xx-transposev_x64_standalone",
++    ":xx-transposev_x64_standalone"
+   ]
+-} else if (current_cpu == "arm64") {
++} else 
++if (current_cpu == "arm64") {
++
+   xnnpack_deps = [
+     ":configs_arm64",
+     ":enums_arm64",
+@@ -1235,7 +1241,7 @@
+     ":xx-copy_arm64",
+     ":xx-fill_arm64",
+     ":xx-pad_arm64",
+-    ":xx-transposev_arm64",
++    ":xx-transposev_arm64"
+   ]
+ 
+   xnnpack_standalone_deps = [
+@@ -1248,12 +1254,12 @@
+     ":f16-f32-vcvt_arm64_standalone",
+     ":f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone",
+     ":f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone",
+-    ":f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":f16-gemm_arch=armv8.2-a+fp16_standalone",
++    ":f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone",
+     ":f16-ibilinear_arch=armv8.2-a+fp16_standalone",
+-    ":f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":f16-igemm_arch=armv8.2-a+fp16_standalone",
++    ":f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":f16-maxpool_arch=armv8.2-a+fp16_standalone",
+     ":f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone",
+     ":f16-qs8-vcvt_arm64_standalone",
+@@ -1341,12 +1347,12 @@
+     ":qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone",
+     ":qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone",
+     ":qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone",
+-    ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone",
++    ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone",
+     ":qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone",
+-    ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone",
++    ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone",
+     ":qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone",
+     ":qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone",
+     ":qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone",
+@@ -1436,7 +1442,247 @@
+     ":xx-copy_arm64_standalone",
+     ":xx-fill_arm64_standalone",
+     ":xx-pad_arm64_standalone",
+-    ":xx-transposev_arm64_standalone",
++    ":xx-transposev_arm64_standalone"
++  ]
++} else 
++if (current_cpu == "ppc64") {
++
++  xnnpack_deps = [
++    ":configs_ppc64",
++    ":enums_ppc64",
++    ":f16-f32-vcvt_ppc64",
++    ":f16-qs8-vcvt_ppc64",
++    ":f16-qu8-vcvt_ppc64",
++    ":f16-rdminmax_ppc64",
++    ":f16-rminmax_ppc64",
++    ":f16-vapproxgelu_ppc64",
++    ":f16-vcos_ppc64",
++    ":f16-vexp_ppc64",
++    ":f16-vgelu_ppc64",
++    ":f16-vsin_ppc64",
++    ":f32-argmaxpool_ppc64",
++    ":f32-avgpool_ppc64",
++    ":f32-conv-hwc2chw_ppc64",
++    ":f32-dwconv2d-chw_ppc64",
++    ":f32-dwconv_ppc64",
++    ":f32-f16-vcvt_ppc64",
++    ":f32-gemm_ppc64",
++    ":f32-ibilinear-chw_ppc64",
++    ":f32-ibilinear_ppc64",
++    ":f32-igemm_ppc64",
++    ":f32-maxpool_ppc64",
++    ":f32-qc4w-gemm_ppc64",
++    ":f32-qc8w-gemm_ppc64",
++    ":f32-qs8-vcvt_ppc64",
++    ":f32-qu8-vcvt_ppc64",
++    ":f32-raddstoreexpminusmax_ppc64",
++    ":f32-rdminmax_ppc64",
++    ":f32-rdsum_ppc64",
++    ":f32-rminmax_ppc64",
++    ":f32-rsum_ppc64",
++    ":f32-spmm_ppc64",
++    ":f32-vapproxgelu_ppc64",
++    ":f32-vbinary_ppc64",
++    ":f32-vclamp_ppc64",
++    ":f32-vcmul_ppc64",
++    ":f32-vcopysign_ppc64",
++    ":f32-vcos_ppc64",
++    ":f32-velu_ppc64",
++    ":f32-vexp_ppc64",
++    ":f32-vgelu_ppc64",
++    ":f32-vhswish_ppc64",
++    ":f32-vlog_ppc64",
++    ":f32-vlrelu_ppc64",
++    ":f32-vmulcaddc_ppc64",
++    ":f32-vrelu_ppc64",
++    ":f32-vrnd_ppc64",
++    ":f32-vrsqrt_ppc64",
++    ":f32-vsigmoid_ppc64",
++    ":f32-vsin_ppc64",
++    ":f32-vsqrt_ppc64",
++    ":f32-vtanh_ppc64",
++    ":f32-vunary_ppc64",
++    ":operators_ppc64",
++    ":qd8-f32-qb4w-gemm_ppc64",
++    ":qd8-f32-qc4w-gemm_ppc64",
++    ":qd8-f32-qc8w-gemm_ppc64",
++    ":qd8-f32-qc8w-igemm_ppc64",
++    ":qs8-dwconv_ppc64",
++    ":qs8-f32-vcvt_ppc64",
++    ":qs8-packw_ppc64",
++    ":qs8-qc4w-gemm_ppc64",
++    ":qs8-qc8w-dwconv_ppc64",
++    ":qs8-qc8w-gemm_ppc64",
++    ":qs8-qc8w-igemm_ppc64",
++    ":qs8-qu8-packw_ppc64",
++    ":qs8-rdsum_ppc64",
++    ":qs8-rsum_ppc64",
++    ":qs8-vadd_ppc64",
++    ":qs8-vaddc_ppc64",
++    ":qs8-vcvt_ppc64",
++    ":qs8-vlrelu_ppc64",
++    ":qs8-vmul_ppc64",
++    ":qs8-vmulc_ppc64",
++    ":qu8-dwconv_ppc64",
++    ":qu8-f32-vcvt_ppc64",
++    ":qu8-gemm_ppc64",
++    ":qu8-igemm_ppc64",
++    ":qu8-rdsum_ppc64",
++    ":qu8-rsum_ppc64",
++    ":qu8-vadd_ppc64",
++    ":qu8-vaddc_ppc64",
++    ":qu8-vcvt_ppc64",
++    ":qu8-vlrelu_ppc64",
++    ":qu8-vmul_ppc64",
++    ":qu8-vmulc_ppc64",
++    ":reference_ppc64",
++    ":s8-ibilinear_ppc64",
++    ":s8-maxpool_ppc64",
++    ":s8-rdminmax_ppc64",
++    ":s8-rminmax_ppc64",
++    ":s8-vclamp_ppc64",
++    ":subgraph_ppc64",
++    ":tables_ppc64",
++    ":u8-ibilinear_ppc64",
++    ":u8-lut32norm_ppc64",
++    ":u8-maxpool_ppc64",
++    ":u8-rdminmax_ppc64",
++    ":u8-rminmax_ppc64",
++    ":u8-vclamp_ppc64",
++    ":x16-transposec_ppc64",
++    ":x16-x32-packw_ppc64",
++    ":x24-transposec_ppc64",
++    ":x32-packw_ppc64",
++    ":x32-transposec_ppc64",
++    ":x32-unpool_ppc64",
++    ":x64-transposec_ppc64",
++    ":x8-lut_ppc64",
++    ":x8-packq_ppc64",
++    ":x8-packw_ppc64",
++    ":x8-transposec_ppc64",
++    ":xx-copy_ppc64",
++    ":xx-fill_ppc64",
++    ":xx-pad_ppc64",
++    ":xx-transposev_ppc64"
++  ]
++
++  xnnpack_standalone_deps = [
++    ":configs_ppc64_standalone",
++    ":enums_ppc64_standalone",
++    ":f16-f32-vcvt_ppc64_standalone",
++    ":f16-qs8-vcvt_ppc64_standalone",
++    ":f16-qu8-vcvt_ppc64_standalone",
++    ":f16-rdminmax_ppc64_standalone",
++    ":f16-rminmax_ppc64_standalone",
++    ":f16-vapproxgelu_ppc64_standalone",
++    ":f16-vcos_ppc64_standalone",
++    ":f16-vexp_ppc64_standalone",
++    ":f16-vgelu_ppc64_standalone",
++    ":f16-vsin_ppc64_standalone",
++    ":f32-argmaxpool_ppc64_standalone",
++    ":f32-avgpool_ppc64_standalone",
++    ":f32-conv-hwc2chw_ppc64_standalone",
++    ":f32-dwconv2d-chw_ppc64_standalone",
++    ":f32-dwconv_ppc64_standalone",
++    ":f32-f16-vcvt_ppc64_standalone",
++    ":f32-gemm_ppc64_standalone",
++    ":f32-ibilinear-chw_ppc64_standalone",
++    ":f32-ibilinear_ppc64_standalone",
++    ":f32-igemm_ppc64_standalone",
++    ":f32-maxpool_ppc64_standalone",
++    ":f32-qc4w-gemm_ppc64_standalone",
++    ":f32-qc8w-gemm_ppc64_standalone",
++    ":f32-qs8-vcvt_ppc64_standalone",
++    ":f32-qu8-vcvt_ppc64_standalone",
++    ":f32-raddstoreexpminusmax_ppc64_standalone",
++    ":f32-rdminmax_ppc64_standalone",
++    ":f32-rdsum_ppc64_standalone",
++    ":f32-rminmax_ppc64_standalone",
++    ":f32-rsum_ppc64_standalone",
++    ":f32-spmm_ppc64_standalone",
++    ":f32-vapproxgelu_ppc64_standalone",
++    ":f32-vbinary_ppc64_standalone",
++    ":f32-vclamp_ppc64_standalone",
++    ":f32-vcmul_ppc64_standalone",
++    ":f32-vcopysign_ppc64_standalone",
++    ":f32-vcos_ppc64_standalone",
++    ":f32-velu_ppc64_standalone",
++    ":f32-vexp_ppc64_standalone",
++    ":f32-vgelu_ppc64_standalone",
++    ":f32-vhswish_ppc64_standalone",
++    ":f32-vlog_ppc64_standalone",
++    ":f32-vlrelu_ppc64_standalone",
++    ":f32-vmulcaddc_ppc64_standalone",
++    ":f32-vrelu_ppc64_standalone",
++    ":f32-vrnd_ppc64_standalone",
++    ":f32-vrsqrt_ppc64_standalone",
++    ":f32-vsigmoid_ppc64_standalone",
++    ":f32-vsin_ppc64_standalone",
++    ":f32-vsqrt_ppc64_standalone",
++    ":f32-vtanh_ppc64_standalone",
++    ":f32-vunary_ppc64_standalone",
++    ":operators_ppc64_standalone",
++    ":qd8-f32-qb4w-gemm_ppc64_standalone",
++    ":qd8-f32-qc4w-gemm_ppc64_standalone",
++    ":qd8-f32-qc8w-gemm_ppc64_standalone",
++    ":qd8-f32-qc8w-igemm_ppc64_standalone",
++    ":qs8-dwconv_ppc64_standalone",
++    ":qs8-f32-vcvt_ppc64_standalone",
++    ":qs8-packw_ppc64_standalone",
++    ":qs8-qc4w-gemm_ppc64_standalone",
++    ":qs8-qc8w-dwconv_ppc64_standalone",
++    ":qs8-qc8w-gemm_ppc64_standalone",
++    ":qs8-qc8w-igemm_ppc64_standalone",
++    ":qs8-qu8-packw_ppc64_standalone",
++    ":qs8-rdsum_ppc64_standalone",
++    ":qs8-rsum_ppc64_standalone",
++    ":qs8-vadd_ppc64_standalone",
++    ":qs8-vaddc_ppc64_standalone",
++    ":qs8-vcvt_ppc64_standalone",
++    ":qs8-vlrelu_ppc64_standalone",
++    ":qs8-vmul_ppc64_standalone",
++    ":qs8-vmulc_ppc64_standalone",
++    ":qu8-dwconv_ppc64_standalone",
++    ":qu8-f32-vcvt_ppc64_standalone",
++    ":qu8-gemm_ppc64_standalone",
++    ":qu8-igemm_ppc64_standalone",
++    ":qu8-rdsum_ppc64_standalone",
++    ":qu8-rsum_ppc64_standalone",
++    ":qu8-vadd_ppc64_standalone",
++    ":qu8-vaddc_ppc64_standalone",
++    ":qu8-vcvt_ppc64_standalone",
++    ":qu8-vlrelu_ppc64_standalone",
++    ":qu8-vmul_ppc64_standalone",
++    ":qu8-vmulc_ppc64_standalone",
++    ":reference_ppc64_standalone",
++    ":s8-ibilinear_ppc64_standalone",
++    ":s8-maxpool_ppc64_standalone",
++    ":s8-rdminmax_ppc64_standalone",
++    ":s8-rminmax_ppc64_standalone",
++    ":s8-vclamp_ppc64_standalone",
++    ":subgraph_ppc64_standalone",
++    ":tables_ppc64_standalone",
++    ":u8-ibilinear_ppc64_standalone",
++    ":u8-lut32norm_ppc64_standalone",
++    ":u8-maxpool_ppc64_standalone",
++    ":u8-rdminmax_ppc64_standalone",
++    ":u8-rminmax_ppc64_standalone",
++    ":u8-vclamp_ppc64_standalone",
++    ":x16-transposec_ppc64_standalone",
++    ":x16-x32-packw_ppc64_standalone",
++    ":x24-transposec_ppc64_standalone",
++    ":x32-packw_ppc64_standalone",
++    ":x32-transposec_ppc64_standalone",
++    ":x32-unpool_ppc64_standalone",
++    ":x64-transposec_ppc64_standalone",
++    ":x8-lut_ppc64_standalone",
++    ":x8-packq_ppc64_standalone",
++    ":x8-packw_ppc64_standalone",
++    ":x8-transposec_ppc64_standalone",
++    ":xx-copy_ppc64_standalone",
++    ":xx-fill_ppc64_standalone",
++    ":xx-pad_ppc64_standalone",
++    ":xx-transposev_ppc64_standalone"
+   ]
+ } else {
+   xnnpack_deps = []
+@@ -1451,8 +1697,8 @@
+   configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+   sources = [
+-    "build_identifier.c",
+-    "src/include/xnnpack.h",
++  "src/include/xnnpack.h",
++  "build_identifier.c",
+     "src/src/allocator.c",
+     "src/src/cache.c",
+     "src/src/datatype.c",
+@@ -1472,15 +1718,15 @@
+     "src/src/runtime.c",
+     "src/src/sanitizers.c",
+     "src/src/subgraph.c",
+-    "src/src/tensor.c",
++    "src/src/tensor.c"
+   ]
+ 
+   deps = xnnpack_deps + [
+-           "//third_party/cpuinfo",
+-           "//third_party/fp16",
+-           "//third_party/fxdiv",
+-           "//third_party/pthreadpool",
+-         ]
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+   public_configs = [ ":xnnpack_config" ]
+ }
+@@ -1494,8 +1740,8 @@
+   configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+   sources = [
+-    "build_identifier.c",
+-    "src/include/xnnpack.h",
++  "src/include/xnnpack.h",
++  "build_identifier.c",
+     "src/src/allocator.c",
+     "src/src/cache.c",
+     "src/src/datatype.c",
+@@ -1515,15 +1761,15 @@
+     "src/src/runtime.c",
+     "src/src/sanitizers.c",
+     "src/src/subgraph.c",
+-    "src/src/tensor.c",
++    "src/src/tensor.c"
+   ]
+ 
+   deps = xnnpack_standalone_deps + [
+-           "//third_party/cpuinfo",
+-           "//third_party/fp16",
+-           "//third_party/fxdiv",
+-           "//third_party/pthreadpool:pthreadpool_standalone",
+-         ]
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+   public_configs = [ ":xnnpack_config" ]
+ 
+@@ -1533,39160 +1779,47034 @@
+ }
+ 
+ if (current_cpu == "x64" || current_cpu == "x86") {
+-  source_set("configs_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/configs/argmaxpool-config.c",
+-      "src/src/configs/avgpool-config.c",
+-      "src/src/configs/binary-elementwise-config.c",
+-      "src/src/configs/cmul-config.c",
+-      "src/src/configs/conv-hwc2chw-config.c",
+-      "src/src/configs/dwconv-config.c",
+-      "src/src/configs/dwconv2d-chw-config.c",
+-      "src/src/configs/gemm-config.c",
+-      "src/src/configs/hardware-config.c",
+-      "src/src/configs/ibilinear-chw-config.c",
+-      "src/src/configs/ibilinear-config.c",
+-      "src/src/configs/lut32norm-config.c",
+-      "src/src/configs/maxpool-config.c",
+-      "src/src/configs/pack-lh-config.c",
+-      "src/src/configs/raddstoreexpminusmax-config.c",
+-      "src/src/configs/reduce-config.c",
+-      "src/src/configs/spmm-config.c",
+-      "src/src/configs/transpose-config.c",
+-      "src/src/configs/unary-elementwise-config.c",
+-      "src/src/configs/unpool-config.c",
+-      "src/src/configs/vmulcaddc-config.c",
+-      "src/src/configs/x8-lut-config.c",
+-      "src/src/configs/xx-fill-config.c",
+-      "src/src/configs/xx-pad-config.c",
+-    ]
++source_set("configs_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("configs_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/configs/argmaxpool-config.c",
+-      "src/src/configs/avgpool-config.c",
+-      "src/src/configs/binary-elementwise-config.c",
+-      "src/src/configs/cmul-config.c",
+-      "src/src/configs/conv-hwc2chw-config.c",
+-      "src/src/configs/dwconv-config.c",
+-      "src/src/configs/dwconv2d-chw-config.c",
+-      "src/src/configs/gemm-config.c",
+-      "src/src/configs/hardware-config.c",
+-      "src/src/configs/ibilinear-chw-config.c",
+-      "src/src/configs/ibilinear-config.c",
+-      "src/src/configs/lut32norm-config.c",
+-      "src/src/configs/maxpool-config.c",
+-      "src/src/configs/pack-lh-config.c",
+-      "src/src/configs/raddstoreexpminusmax-config.c",
+-      "src/src/configs/reduce-config.c",
+-      "src/src/configs/spmm-config.c",
+-      "src/src/configs/transpose-config.c",
+-      "src/src/configs/unary-elementwise-config.c",
+-      "src/src/configs/unpool-config.c",
+-      "src/src/configs/vmulcaddc-config.c",
+-      "src/src/configs/x8-lut-config.c",
+-      "src/src/configs/xx-fill-config.c",
+-      "src/src/configs/xx-pad-config.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("enums_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/enums/allocation-type.c",
+-      "src/src/enums/datatype-strings.c",
+-      "src/src/enums/microkernel-type.c",
+-      "src/src/enums/node-type.c",
+-      "src/src/enums/operator-type.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("configs_x64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("enums_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/enums/allocation-type.c",
+-      "src/src/enums/datatype-strings.c",
+-      "src/src/enums/microkernel-type.c",
+-      "src/src/enums/node-type.c",
+-      "src/src/enums/operator-type.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-avgpool_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++source_set("enums_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("enums_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-  source_set("f16-dwconv_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-dwconv_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("f16-avgpool_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f16-dwconv_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-dwconv_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-f32-vcvt_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c"
++  ]
+ 
+-  source_set("f16-f32-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c"
++  ]
+ 
+-  source_set("f16-f32-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-f32-vcvt_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-f32-vcvt_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c"
++  ]
+ 
+-  source_set("f16-f32acc-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-f32-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f16-f32acc-igemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f16-f32-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++source_set("f16-f32-vcvt_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u64-acc4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u64-acc4.c",
+-    ]
++source_set("f16-f32acc-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-f32acc-igemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-  source_set("f16-ibilinear_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-maxpool_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-maxpool_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f16-maxpool_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c"
++  ]
+ 
+-  source_set("f16-qs8-vcvt_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-qs8-vcvt_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c",
+-    ]
++source_set("f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u64-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f16-qu8-vcvt_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u64-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-qu8-vcvt_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c"
++  ]
+ 
+-  source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-rdminmax_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c",
+-    ]
++source_set("f16-ibilinear_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rdminmax_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-maxpool_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512fp16",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-maxpool_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512fp16",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-maxpool_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c"
++  ]
+ 
+-  source_set("f16-rminmax_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/f16-rmax-f16c-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rminmax_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/f16-rmax-f16c-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
++
++source_set("f16-qs8-vcvt_x64") {
++  cflags = [
+ 
+-  source_set("f16-rminmax_x64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rminmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-qs8-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-  source_set("f16-vapproxgelu_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vapproxgelu_x64_standalone") {
+-    cflags = []
++source_set("f16-qu8-vcvt_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512fp16",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-qu8-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512fp16",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vbinary_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c"
++  ]
+ 
+-  source_set("f16-vclamp_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vclamp_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c",
+-    ]
++source_set("f16-rdminmax_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vcos_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rdminmax_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vcos_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-velu_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-velu_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c"
++  ]
+ 
+-  source_set("f16-vexp_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vexp_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c",
+-    ]
++source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512fp16",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f16-vgelu_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512fp16",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vgelu_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-rminmax_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/f16-rmax-f16c-u32.c"
++  ]
+ 
+-  source_set("f16-vhswish_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/f16-rmax-f16c-u32.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vlrelu_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++source_set("f16-rminmax_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-  source_set("f16-vmulcaddc_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vmulcaddc_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c",
+-    ]
++source_set("f16-vapproxgelu_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vrnd_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vapproxgelu_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vrnd_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vrsqrt_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512fp16",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512fp16",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c"
++  ]
+ 
+-  source_set("f16-vsigmoid_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsigmoid_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c",
+-    ]
++source_set("f16-vbinary_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f16-vsin_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsin_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vclamp_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c"
++  ]
+ 
+-  source_set("f16-vsqrt_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vclamp_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vtanh_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("f16-vcos_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vtanh_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vcos_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-  source_set("f16-vtanh_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++source_set("f16-velu_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f16-vunary_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-velu_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f16-vexp_x64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-  source_set("f16-vunary_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c",
+-      "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vexp_x64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vunary_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c",
+-      "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-argmaxpool_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f16-vgelu_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-argmaxpool_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vgelu_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-  source_set("f32-argmaxpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-argmaxpool_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
+-    ]
++source_set("f16-vhswish_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-avgpool_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-avgpool_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vlrelu_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c"
++  ]
+ 
+-  source_set("f32-avgpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-avgpool_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-conv-hwc2chw_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f16-vmulcaddc_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vmulcaddc_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-conv-hwc2chw_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-vrnd_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-conv-hwc2chw_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-vrnd_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c"
++  ]
+ 
+-  source_set("f32-dwconv2d-chw_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f16-vrsqrt_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++source_set("f16-vsigmoid_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-dwconv2d-chw_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsigmoid_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv2d-chw_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f16-vsin_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsin_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-dwconv_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vsqrt_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c"
++  ]
+ 
+-  source_set("f32-dwconv_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-dwconv_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f16-vtanh_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vtanh_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-dwconv_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
+-    ]
++source_set("f16-vtanh_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vunary_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++source_set("f16-vunary_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c",
++    "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_f16c-no-avx2-no-fma_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mno-avx2",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vunary_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c",
++    "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-f16-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-argmaxpool_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-argmaxpool_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c"
++  ]
+ 
+-  source_set("f32-f16-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c",
+-    ]
++source_set("f32-argmaxpool_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-f16-vcvt_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-argmaxpool_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-avgpool_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-avgpool_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-gemm_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c",
+-    ]
++source_set("f32-avgpool_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-gemm_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-avgpool_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-gemm_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f32-conv-hwc2chw_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-gemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
+-    ]
++source_set("f32-conv-hwc2chw_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-ibilinear-chw_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-conv-hwc2chw_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear-chw_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-ibilinear-chw_x64") {
+-    cflags = []
++source_set("f32-dwconv2d-chw_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear-chw_x64_standalone") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-ibilinear_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c"
++  ]
+ 
+-  source_set("f32-ibilinear_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear_x64_standalone") {
+-    cflags = []
++source_set("f32-dwconv2d-chw_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv2d-chw_x64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-igemm_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c",
+-    ]
++source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c"
++  ]
+ 
+-  source_set("f32-igemm_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("f32-dwconv_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c",
+-      "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-igemm_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-dwconv_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-igemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-maxpool_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-dwconv_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-maxpool_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c"
++  ]
+ 
+-  source_set("f32-maxpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-maxpool_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++source_set("f32-dwconv_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qc4w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-qc4w-gemm_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c"
++  ]
+ 
+-  source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c",
+-    ]
++source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-qc4w-gemm_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_f16c-no-avx2-no-fma_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mno-avx2",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-f16-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c"
++  ]
+ 
+-  source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qc8w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c",
+-    ]
++source_set("f32-f16-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c",
+-    ]
++source_set("f32-f16-vcvt_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-qc8w-gemm_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-qc8w-gemm_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-gemm_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c"
++  ]
+ 
+-  source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-gemm_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-qs8-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c",
++    "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-gemm_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qs8-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-gemm_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c"
++  ]
+ 
+-  source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-ibilinear-chw_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-qs8-vcvt_x64") {
+-    cflags = []
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear-chw_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c",
+-    ]
++source_set("f32-ibilinear-chw_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear-chw_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qu8-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c",
+-    ]
++source_set("f32-ibilinear_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c",
+-    ]
++source_set("f32-ibilinear_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-qu8-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-qu8-vcvt_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c",
+-    ]
++source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qu8-vcvt_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c"
++  ]
+ 
+-  source_set("f32-raddstoreexpminusmax_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-raddstoreexpminusmax_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++source_set("f32-igemm_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-igemm_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c",
++    "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-raddstoreexpminusmax_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-igemm_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c"
++  ]
+ 
+-  source_set("f32-raddstoreexpminusmax_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-raddstoreexpminusmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c",
+-    ]
++source_set("f32-igemm_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-rdminmax_avx512f") {
+-    cflags = [ "-mavx512f" ]
++source_set("f32-maxpool_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdminmax_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-maxpool_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-rdminmax_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-maxpool_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdminmax_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-maxpool_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-  source_set("f32-rdminmax_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdminmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c",
+-    ]
++source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-qc4w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-  source_set("f32-rdsum_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdsum_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-rdsum_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f32-qc4w-gemm_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdsum_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-rdsum_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdsum_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c"
++  ]
+ 
+-  source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-qc4w-gemm_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-rminmax_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_x64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rminmax_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-rminmax_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rminmax_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c"
++  ]
+ 
+-  source_set("f32-rminmax_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rminmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c",
+-    ]
++source_set("f32-qc8w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c"
++  ]
+ 
+-  source_set("f32-rsum_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-avx512f-u64-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rsum_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-avx512f-u64-acc4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-rsum_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f32-qc8w-gemm_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-sse-u16-acc4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rsum_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-sse-u16-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-rsum_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rsum_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c"
++  ]
+ 
+-  source_set("f32-spmm_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-spmm_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("f32-qc8w-gemm_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-spmm_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_x64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-spmm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vapproxgelu_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-nr.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-qs8-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-nr.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c"
++  ]
+ 
+-  source_set("f32-vapproxgelu_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c",
+-    ]
++source_set("f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-vapproxgelu_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-qs8-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c"
++  ]
+ 
+-  source_set("f32-vapproxgelu_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vbinary_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c",
+-    ]
++source_set("f32-qs8-vcvt_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vbinary_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vbinary_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vbinary_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-qu8-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c"
++  ]
+ 
+-  source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-avx-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-avx-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vclamp_avx512f") {
+-    cflags = [ "-mavx512f" ]
++source_set("f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-avx512f-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vclamp_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-avx512f-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vclamp_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-sse-u8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-qu8-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vclamp_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-sse-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c"
++  ]
+ 
+-  source_set("f32-vclamp_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vclamp_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c",
+-    ]
++source_set("f32-qu8-vcvt_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vcmul_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcmul_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vcmul_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("f32-raddstoreexpminusmax_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcmul_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vcmul_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcmul_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c"
++  ]
+ 
+-  source_set("f32-vcmul_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcmul_x64_standalone") {
+-    cflags = []
++source_set("f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-raddstoreexpminusmax_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vcopysign_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcopysign_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vcopysign_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-raddstoreexpminusmax_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcopysign_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-  source_set("f32-vcopysign_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcopysign_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c"
++  ]
+ 
+-  source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vcos_avx512f") {
+-    cflags = [ "-mavx512f" ]
++source_set("f32-rdminmax_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-nr.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-nr.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vcos_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-rdminmax_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c"
++  ]
+ 
+-  source_set("f32-vcos_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c",
+-    ]
++source_set("f32-rdminmax_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vcos_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-velu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c"
++  ]
+ 
+-  source_set("f32-velu_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++source_set("f32-rdsum_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-velu_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rdsum_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rdsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rminmax_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rminmax_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rminmax_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rsum_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-avx512f-u64-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-avx512f-u64-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rsum_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-sse-u16-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-sse-u16-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-rsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-spmm_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-spmm_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-spmm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-spmm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vapproxgelu_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vapproxgelu_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vapproxgelu_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vapproxgelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vbinary_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vbinary_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vbinary_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vbinary_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vclamp_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vclamp_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vclamp_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcmul_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcmul_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcmul_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcmul_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcopysign_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcopysign_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcopysign_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcos_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcos_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcos_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vcos_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-velu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-velu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-velu_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-velu_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-velu_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-velu_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-velu_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-velu_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-velu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-velu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vexp_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vexp_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vexp_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vexp_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vgelu_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vgelu_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vgelu_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vgelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vhswish_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vhswish_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-fma3-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-fma3-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vhswish_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vhswish_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlog_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlog_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlog_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlog_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlog_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlrelu_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlrelu_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlrelu_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vlrelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vmulcaddc_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vmulcaddc_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vmulcaddc_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vmulcaddc_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrnd_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrnd_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrnd_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrnd_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrsqrt_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrsqrt_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-fma3-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-fma3-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrsqrt_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse-rsqrt-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse-rsqrt-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vrsqrt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsigmoid_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsin_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-avx512f-rational-5-4-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-avx512f-rational-5-4-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsin_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsin_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsin_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsqrt_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsqrt_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-fma3-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-fma3-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsqrt_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-sse-rsqrt-u12.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-sse-rsqrt-u12.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vsqrt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vtanh_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-nr.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vtanh_f16c-fma-no-avx2") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_f16c-fma-no-avx2_standalone") {
++  cflags = [
++    "-mf16c",
++    "-mfma",
++    "-mno-avx2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vtanh_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vtanh_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-avx.c",
++    "src/src/f32-vunary/gen/f32-vneg-avx.c",
++    "src/src/f32-vunary/gen/f32-vsqr-avx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-avx.c",
++    "src/src/f32-vunary/gen/f32-vneg-avx.c",
++    "src/src/f32-vunary/gen/f32-vsqr-avx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vunary_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-avx512f.c",
++    "src/src/f32-vunary/gen/f32-vneg-avx512f.c",
++    "src/src/f32-vunary/gen/f32-vsqr-avx512f.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-avx512f.c",
++    "src/src/f32-vunary/gen/f32-vneg-avx512f.c",
++    "src/src/f32-vunary/gen/f32-vsqr-avx512f.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vunary_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-sse2.c",
++    "src/src/f32-vunary/gen/f32-vneg-sse2.c",
++    "src/src/f32-vunary/gen/f32-vsqr-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-sse2.c",
++    "src/src/f32-vunary/gen/f32-vneg-sse2.c",
++    "src/src/f32-vunary/gen/f32-vsqr-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("f32-vunary_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("operators_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("operators_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qb4w-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc4w-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qd8-f32-qc8w-igemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-dwconv_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f16-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f16-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-f32-vcvt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-packw_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-packw_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c",
++    "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-packw_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-packw_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc4w-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc4w-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-dwconv_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnniint8",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnniint8",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnniint8",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnniint8",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
++  cflags = [
++    "-mamx-int8",
++    "-mamx-tile",
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma",
++    "-mgfni"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qc8w-igemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-qu8-packw_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-qu8-packw_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rdsum_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rdsum_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rdsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_avx2-avxvnni-f16c-fma") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_avx2-avxvnni-f16c-fma_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mavxvnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mavx512vnni",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-rsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vadd_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vaddc_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vcvt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vlrelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmul_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmul_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmul_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmulc_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmulc_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qs8-vmulc_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-dwconv_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-f32-vcvt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-gemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-igemm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-rdsum_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-rdsum_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-rdsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-rdsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-rsum_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-rsum_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-rsum_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-rsum_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-rsum_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-rsum_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vadd_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vaddc_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vcvt_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vlrelu_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmul_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmul_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmul_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmulc_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmulc_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("qu8-vmulc_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("reference_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("reference_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-ibilinear_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-ibilinear_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-ibilinear_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-ibilinear_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-ibilinear_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-ibilinear_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-maxpool_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-maxpool_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-maxpool_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-maxpool_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-rdminmax_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-rdminmax_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-rdminmax_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-rdminmax_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-rminmax_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-rminmax_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-rminmax_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-rminmax_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-vclamp_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-avx2-u128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-avx2-u128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-vclamp_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-sse2-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-sse2-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-vclamp_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-sse41-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-sse41-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("s8-vclamp_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("subgraph_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("subgraph_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("tables_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("tables_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-ibilinear_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-ibilinear_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-ibilinear_sse4.1-no-sse4.2") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-ibilinear_sse4.1-no-sse4.2_standalone") {
++  cflags = [
++    "-mno-sse4.2",
++    "-msse4.1"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-ibilinear_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-ibilinear_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-lut32norm_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-lut32norm_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-maxpool_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-maxpool_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-maxpool_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-maxpool_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-rdminmax_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-rdminmax_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-rdminmax_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-rdminmax_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-rminmax_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-rminmax_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
++
++source_set("u8-rminmax_x64") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-rminmax_x64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
++
++source_set("u8-vclamp_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-avx2-u128.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-avx2-u128.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-velu_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-velu_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("u8-vclamp_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-sse2-u64.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-sse2-u64.c"
++  ]
+ 
+-  source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c",
+-    ]
++source_set("u8-vclamp_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vexp_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vexp_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("x16-packw_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-packw_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vexp_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("x16-transposec_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("x16-transposec_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c"
++  ]
+ 
+-  source_set("f32-vexp_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_x64_standalone") {
+-    cflags = []
++source_set("x16-transposec_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-transposec_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("x16-transposec_x64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c"
++  ]
+ 
+-  source_set("f32-vgelu_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-nr.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x16-transposec_x64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-nr.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vgelu_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("x16-x32-packw_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-x32-packw_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-  source_set("f32-vgelu_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("x24-transposec_ssse3-no-sse4.1") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/x24-transposec-4x4-ssse3.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-vgelu_x64") {
+-    cflags = []
++# This is a target that cannot depend on //base.
++source_set("x24-transposec_ssse3-no-sse4.1_standalone") {
++  cflags = [
++    "-mno-sse4.1",
++    "-mssse3"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/x24-transposec-4x4-ssse3.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_x64_standalone") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("x24-transposec_x64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c"
++  ]
+ 
+-  source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-avx-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x24-transposec_x64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-avx-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vhswish_avx512f") {
+-    cflags = [ "-mavx512f" ]
++source_set("x32-packw_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-avx512f-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-avx512f-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vhswish_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("x32-packw_avx512f") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-fma3-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-fma3-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-packw_avx512f_standalone") {
++  cflags = [
++    "-mavx512f"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vhswish_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-sse-u8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("x32-packw_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-sse-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("x32-packw_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c"
++  ]
+ 
+-  source_set("f32-vhswish_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c",
+-    ]
++source_set("x32-packw_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vlog_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-packw_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vlog_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vlog_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("x32-transposec_sse-no-sse2") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/x32-transposec-4x4-sse.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("x32-transposec_sse-no-sse2_standalone") {
++  cflags = [
++    "-mno-sse2",
++    "-msse"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/x32-transposec-4x4-sse.c"
++  ]
+ 
+-  source_set("f32-vlog_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c",
+-    ]
++source_set("x32-transposec_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vlog_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-transposec_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("x32-unpool_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-sse2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-unpool_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vlrelu_avx512f") {
+-    cflags = [ "-mavx512f" ]
++source_set("x32-unpool_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-unpool_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
+ 
+-  source_set("f32-vlrelu_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c",
+-    ]
++source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-vlrelu_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("x64-transposec_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c"
++  ]
+ 
+-  source_set("f32-vlrelu_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x64-transposec_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vmulcaddc_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("x64-transposec_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vmulcaddc_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x64-transposec_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-  source_set("f32-vmulcaddc_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vmulcaddc_x64_standalone") {
+-    cflags = []
++source_set("x8-lut_avx-no-avx2-no-f16c-no-fma") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx-u64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("x8-lut_avx-no-avx2-no-f16c-no-fma_standalone") {
++  cflags = [
++    "-mavx",
++    "-mno-avx2",
++    "-mno-f16c",
++    "-mno-fma"
++  ]
+ 
+-  source_set("f32-vrelu_x64") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx-u64.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrelu_x64_standalone") {
+-    cflags = []
++source_set("x8-lut_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx2-u128.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("x8-lut_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-  source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx2-u128.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vrnd_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vrnd_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vbmi",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone") {
++  cflags = [
++    "-mavx512bw",
++    "-mavx512cd",
++    "-mavx512dq",
++    "-mavx512f",
++    "-mavx512vbmi",
++    "-mavx512vl",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vrnd_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("x8-lut_x64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vrnd_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-lut_x64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("x8-packq_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-packq_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-  source_set("f32-vrsqrt_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt-u32.c",
+-    ]
++source_set("x8-packw_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vrsqrt_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-fma3-rsqrt-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-packw_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-fma3-rsqrt-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vrsqrt_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++source_set("x8-transposec_f16c-fma-avx2") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse-rsqrt-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse-rsqrt-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-transposec_f16c-fma-avx2_standalone") {
++  cflags = [
++    "-mavx2",
++    "-mf16c",
++    "-mfma"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vrsqrt_x64") {
+-    cflags = []
++source_set("x8-transposec_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_x64_standalone") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-transposec_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("x8-transposec_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-transposec_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-  source_set("f32-vsigmoid_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c",
+-    ]
++source_set("xx-copy_x64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vsigmoid_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-copy_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsigmoid_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("xx-fill_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-sse2-u64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-fill_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-sse2-u64.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsigmoid_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("xx-fill_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-fill_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-  source_set("f32-vsigmoid_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_x64_standalone") {
+-    cflags = []
++source_set("xx-pad_sse2-no-sse3") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p16-sse2-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-pad_sse2-no-sse3_standalone") {
++  cflags = [
++    "-mno-sse3",
++    "-msse2"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p16-sse2-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("xx-pad_x64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-  source_set("f32-vsin_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-avx512f-rational-5-4-nr.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("xx-pad_x64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-avx512f-rational-5-4-nr.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsin_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++source_set("xx-transposev_x64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-transposev_x64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-  source_set("f32-vsin_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c",
+-    ]
++if (current_cpu == "arm64") {
++source_set("configs_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vsin_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("configs_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("enums_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("enums_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-  source_set("f32-vsqrt_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt-u16.c",
+-    ]
++source_set("f16-avgpool_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-vsqrt_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-fma3-rsqrt-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-fma3-rsqrt-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c"
++  ]
+ 
+-  source_set("f32-vsqrt_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-sse-rsqrt-u12.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-sse-rsqrt-u12.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsqrt_x64") {
+-    cflags = []
++source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_x64_standalone") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c",
++    "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-dwconv_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-dwconv_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c",
++    "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c"
++  ]
+ 
+-  source_set("f32-vtanh_avx512f") {
+-    cflags = [ "-mavx512f" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-nr.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-nr.c",
+-    ]
++source_set("f16-f32-vcvt_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vtanh_f16c-fma-no-avx2") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_f16c-fma-no-avx2_standalone") {
+-    cflags = [
+-      "-mf16c",
+-      "-mfma",
+-      "-mno-avx2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vtanh_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vtanh_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c"
++  ]
+ 
+-  source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-avx.c",
+-      "src/src/f32-vunary/gen/f32-vneg-avx.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-avx.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f16-gemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-avx.c",
+-      "src/src/f32-vunary/gen/f32-vneg-avx.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-avx.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("f32-vunary_avx512f") {
+-    cflags = [ "-mavx512f" ]
++# This is a target that cannot depend on //base.
++source_set("f16-gemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-avx512f.c",
+-      "src/src/f32-vunary/gen/f32-vneg-avx512f.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-avx512f.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vunary_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-avx512f.c",
+-      "src/src/f32-vunary/gen/f32-vneg-avx512f.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-avx512f.c",
+-    ]
++source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vunary_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-sse2.c",
+-      "src/src/f32-vunary/gen/f32-vneg-sse2.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-sse2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vunary_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
++    "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-sse2.c",
+-      "src/src/f32-vunary/gen/f32-vneg-sse2.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-sse2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vunary_x64") {
+-    cflags = []
++source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vneg-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-scalar.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vunary_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vneg-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("operators_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/operators/argmax-pooling-nhwc.c",
+-      "src/src/operators/average-pooling-nhwc.c",
+-      "src/src/operators/batch-matrix-multiply-nc.c",
+-      "src/src/operators/binary-elementwise-nd.c",
+-      "src/src/operators/constant-pad-nd.c",
+-      "src/src/operators/convolution-nchw.c",
+-      "src/src/operators/convolution-nhwc.c",
+-      "src/src/operators/deconvolution-nhwc.c",
+-      "src/src/operators/dynamic-fully-connected-nc.c",
+-      "src/src/operators/fully-connected-nc.c",
+-      "src/src/operators/max-pooling-nhwc.c",
+-      "src/src/operators/pack-lh.c",
+-      "src/src/operators/reduce-nd.c",
+-      "src/src/operators/resize-bilinear-nchw.c",
+-      "src/src/operators/resize-bilinear-nhwc.c",
+-      "src/src/operators/rope-nthc.c",
+-      "src/src/operators/slice-nd.c",
+-      "src/src/operators/softmax-nc.c",
+-      "src/src/operators/transpose-nd.c",
+-      "src/src/operators/unary-elementwise-nc.c",
+-      "src/src/operators/unpooling-nhwc.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("operators_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/operators/argmax-pooling-nhwc.c",
+-      "src/src/operators/average-pooling-nhwc.c",
+-      "src/src/operators/batch-matrix-multiply-nc.c",
+-      "src/src/operators/binary-elementwise-nd.c",
+-      "src/src/operators/constant-pad-nd.c",
+-      "src/src/operators/convolution-nchw.c",
+-      "src/src/operators/convolution-nhwc.c",
+-      "src/src/operators/deconvolution-nhwc.c",
+-      "src/src/operators/dynamic-fully-connected-nc.c",
+-      "src/src/operators/fully-connected-nc.c",
+-      "src/src/operators/max-pooling-nhwc.c",
+-      "src/src/operators/pack-lh.c",
+-      "src/src/operators/reduce-nd.c",
+-      "src/src/operators/resize-bilinear-nchw.c",
+-      "src/src/operators/resize-bilinear-nhwc.c",
+-      "src/src/operators/rope-nthc.c",
+-      "src/src/operators/slice-nd.c",
+-      "src/src/operators/softmax-nc.c",
+-      "src/src/operators/transpose-nd.c",
+-      "src/src/operators/unary-elementwise-nc.c",
+-      "src/src/operators/unpooling-nhwc.c",
+-    ]
++source_set("f16-ibilinear_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-igemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c"
++  ]
+ 
+-  source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-igemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c",
++    "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
++    "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-maxpool_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c"
++  ]
+ 
+-  source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-qs8-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-qs8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c",
+-    ]
++source_set("f16-qu8-vcvt_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-qu8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c"
++  ]
+ 
+-  source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++source_set("f16-rdminmax_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rdminmax_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-rdminmax_arm64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rdminmax_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f16-rminmax_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f16-rminmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-  source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-spmm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-spmm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vapproxgelu_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qb4w-gemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f16-vapproxgelu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vapproxgelu_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-  source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f16-vbinary_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f16-vbinary_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  source_set("qd8-f32-qb4w-gemm_x64") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c",
++    "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c",
++    "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c",
++    "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
++
++source_set("f16-vclamp_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vclamp_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-vcmul_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-vcos_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vcos_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vcos_arm64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vcos_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++source_set("f16-velu_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-velu_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vexp_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c"
++  ]
+ 
+-  source_set("qd8-f32-qc4w-gemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vexp_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++source_set("f16-vexp_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vexp_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-  source_set("qd8-f32-qc4w-gemm_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_x64_standalone") {
+-    cflags = []
++source_set("f16-vgelu_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f16-vgelu_arm64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-  source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vgelu_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f16-vhswish_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-vhswish_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-vlrelu_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vmulcaddc_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c"
++  ]
+ 
+-  source_set("qd8-f32-qc8w-gemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vmulcaddc_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f16-vrnd_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vrnd_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c",
++    "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-gemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++source_set("f16-vrsqrt_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-vsigmoid_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-vsigmoid_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c",
++    "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f16-vsin_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f16-vsin_arm64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsin_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++source_set("f16-vsqrt_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qd8-f32-qc8w-igemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsqrt_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c",
++    "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f16-vtanh_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c",
++    "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c",
++    "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f16-vunary_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vabs-neonfp16arith-u16.c",
++    "src/src/f16-vunary/gen/f16-vneg-neonfp16arith-u16.c",
++    "src/src/f16-vunary/gen/f16-vsqr-neonfp16arith-u16.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-igemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vunary_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vunary/gen/f16-vabs-neonfp16arith-u16.c",
++    "src/src/f16-vunary/gen/f16-vneg-neonfp16arith-u16.c",
++    "src/src/f16-vunary/gen/f16-vsqr-neonfp16arith-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-argmaxpool_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-argmaxpool_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-  source_set("qs8-dwconv_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-avgpool_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-avgpool_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-dwconv_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-conv-hwc2chw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-conv-hwc2chw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-  source_set("qs8-dwconv_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-dwconv2d-chw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-dwconv_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv2d-chw_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-f16-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f16-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S"
++  ]
+ 
+-  source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-dwconv_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qs8-f32-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-f16-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-  source_set("qs8-f32-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c",
+-    ]
++source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-f32-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-f32-vcvt_x64") {
+-    cflags = []
++source_set("f32-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c",
++    "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c"
++  ]
+ 
+-  source_set("qs8-packw_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-packw_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-ibilinear-chw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear-chw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c",
+-      "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-packw_x64") {
+-    cflags = []
++source_set("f32-ibilinear_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-packw_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-  source_set("qs8-qc4w-gemm_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc4w-gemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c",
+-    ]
++source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
++    "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-dwconv_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-igemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c",
++    "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++source_set("f32-maxpool_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-qc8w-dwconv_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-maxpool_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-qc4w-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-dwconv_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-qc8w-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c"
++  ]
+ 
+-  source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnniint8",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnniint8",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-qs8-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qs8-qc8w-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-qu8-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-raddstoreexpminusmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-gemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-rdminmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-rdsum_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-gemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-rminmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
+ 
+-  source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c",
+-    ]
++source_set("f32-rsum_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnniint8",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnniint8",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-igemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-spmm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-spmm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c",
++    "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vapproxgelu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_arm64_standalone") {
++  cflags = [
++
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vbinary_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") {
+-    cflags = [
+-      "-mamx-int8",
+-      "-mamx-tile",
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-      "-mgfni",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc8w-igemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-vclamp_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-neon-u16.c",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-neon-u16.c",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("f32-vcmul_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-igemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vcopysign_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vcos_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_arm64_standalone") {
++  cflags = [
+ 
+-  source_set("qs8-qu8-packw_x64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qu8-packw_x64_standalone") {
+-    cflags = []
++source_set("f32-velu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c",
++    "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c",
++    "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qs8-rdsum_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-velu_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c",
++    "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c",
++    "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rdsum_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vexp_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
+ 
+-  source_set("qs8-rdsum_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rdsum_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c",
+-    ]
++source_set("f32-vgelu_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-rdsum_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rdsum_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-rsum_avx2-avxvnni-f16c-fma") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vhswish_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-neon-u16.c",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_avx2-avxvnni-f16c-fma_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mavxvnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-neon-u16.c",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-rsum_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vlog_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c",
+-    ]
++source_set("f32-vlrelu_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mavx512vnni",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_arm64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("qs8-rsum_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c",
+-    ]
++source_set("f32-vmulcaddc_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-rsum_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vmulcaddc_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-vrelu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrelu_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
+ 
+-  source_set("qs8-vadd_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vrnd_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-neon-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-neonv8-u8.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vadd_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-vrsqrt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt-u16.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt-u16.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
+ 
+-  source_set("qs8-vadd_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++source_set("f32-vsigmoid_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-vadd_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("f32-vsin_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
+ 
+-  source_set("qs8-vaddc_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("f32-vsqrt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt-u4.c",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt-u4.c",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vaddc_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("f32-vtanh_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
+ 
+-  source_set("qs8-vaddc_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++source_set("f32-vunary_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-neon.c",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-neon.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-neon.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-vaddc_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-neon.c",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-neon.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-neon.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("operators_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("operators_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
+ 
+-  source_set("qs8-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c",
+-    ]
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qs8-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c"
++  ]
+ 
+-  source_set("qs8-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vcvt_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qs8-vcvt_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-  source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c",
+-    ]
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("qs8-vlrelu_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-  source_set("qs8-vlrelu_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vlrelu_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qs8-vlrelu_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c"
++  ]
+ 
+-  source_set("qs8-vlrelu_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c",
+-    ]
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondotfp16arith-cortex-a55.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondotfp16arith-cortex-a55.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vmul_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmul_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qs8-vmul_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x8c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmul_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-neondotfp16arith.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x8c4-minmax-neondotfp16arith.c"
++  ]
+ 
+-  source_set("qs8-vmul_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmul_x64_standalone") {
+-    cflags = []
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c2s4-minmax-neonfp16arith-mlal.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-2x8c2s4-minmax-neonfp16arith-mlal.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c2s4-minmax-neonfp16arith-mlal.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-2x8c2s4-minmax-neonfp16arith-mlal.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-  source_set("qs8-vmulc_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmulc_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  asmflags = cflags
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vmulc_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmulc_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qs8-vmulc_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmulc_x64_standalone") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c"
++  ]
+ 
+-  source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  source_set("qu8-dwconv_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qd8-f32-qb4w-gemm_arm64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qu8-dwconv_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c"
++  ]
+ 
+-  source_set("qu8-dwconv_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-dwconv_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("qd8-f32-qc4w-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c"
++  ]
+ 
+-  source_set("qu8-f32-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-f32-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-  source_set("qu8-f32-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-f32-vcvt_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("qd8-f32-qc8w-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  source_set("qu8-gemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-gemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-  source_set("qu8-gemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-gemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("qd8-f32-qc8w-igemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c"
++  ]
+ 
+-  source_set("qu8-igemm_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-igemm_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-igemm_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-igemm_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-rdsum_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rdsum_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-rdsum_x64") {
+-    cflags = []
++source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c4-mstep4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c8-aarch64-neondot.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rdsum_x64_standalone") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c4-mstep4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c4-aarch64-neondot.c",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c8-aarch64-neondot.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("qu8-rsum_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rsum_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-rsum_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rsum_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c",
+-    ]
++source_set("qs8-dwconv_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-rsum_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rsum_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-rndnu-neon-mla8-ld64.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c"
++  ]
+ 
+-  source_set("qu8-vadd_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("qs8-f32-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vadd_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qs8-packw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-  source_set("qu8-vadd_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vadd_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("qs8-qc4w-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc4w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-  source_set("qu8-vaddc_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("qs8-qc8w-dwconv_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neon-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neon-mla8-ld128.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld128.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neon-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neon-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neon-mla8-ld128.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld128.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neon-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neonv8-mla8-ld64.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vaddc_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c"
++  ]
+ 
+-  source_set("qu8-vaddc_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c",
+-    ]
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vaddc_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-vcvt_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c",
+-    ]
++source_set("qs8-qc8w-gemm_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vcvt_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vcvt_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c"
++  ]
+ 
+-  source_set("qu8-vcvt_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c",
+-    ]
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  asmflags = cflags
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vcvt_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  asmflags = cflags
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
++  cflags = [
++    "-march=armv8.2-a+i8mm+fp16"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c"
++  ]
+ 
+-  source_set("qu8-vlrelu_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c",
+-    ]
++source_set("qs8-qc8w-igemm_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vlrelu_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neon-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vlrelu_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qs8-qu8-packw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qu8-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-  source_set("qu8-vlrelu_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c",
+-    ]
++source_set("qs8-rdsum_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vlrelu_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("qs8-rsum_arch=armv8.2-a+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+dotprod"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c"
++  ]
+ 
+-  source_set("qu8-vmul_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmul_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++source_set("qs8-rsum_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vmul_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmul_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vmul_x64") {
+-    cflags = []
++source_set("qs8-vadd_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmul_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-  source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c",
+-    ]
++source_set("qs8-vaddc_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vmulc_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmulc_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vmulc_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qs8-vcvt_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-neon-u32.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmulc_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-neon-u32.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
+ 
+-  source_set("qu8-vmulc_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmulc_x64_standalone") {
+-    cflags = []
++source_set("qs8-vlrelu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("reference_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/reference/binary-elementwise.cc",
+-      "src/src/reference/packing.cc",
+-      "src/src/reference/unary-elementwise.cc",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("reference_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/reference/binary-elementwise.cc",
+-      "src/src/reference/packing.cc",
+-      "src/src/reference/unary-elementwise.cc",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-ibilinear_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qs8-vmul_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-ibilinear_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-  source_set("s8-ibilinear_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-ibilinear_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c",
+-    ]
++source_set("qs8-vmulc_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("s8-ibilinear_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-ibilinear_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-maxpool_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qu8-dwconv_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-rndnu-neon-mul8.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-rndnu-neon-mul8.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-maxpool_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-rndnu-neon-mul8.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-rndnu-neon-mul8.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-  source_set("s8-maxpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-maxpool_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++source_set("qu8-f32-vcvt_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-u32.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("s8-rdminmax_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rdminmax_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-u32.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-rdminmax_x64") {
+-    cflags = []
++source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rdminmax_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S"
++  ]
+ 
+-  source_set("s8-rminmax_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rminmax_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qu8-gemm_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-neon-mlal-lane.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("s8-rminmax_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-neon-mlal-lane.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rminmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-vclamp_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-avx2-u128.c",
+-    ]
++  asmflags = cflags
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-vclamp_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-avx2-u128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
++  cflags = [
++    "-march=armv8.2-a+fp16+dotprod"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  asmflags = cflags
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c",
+-    ]
++source_set("qu8-igemm_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-neon-mlal-lane.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("s8-vclamp_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-sse2-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-vclamp_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x8-minmax-rndnu-neon-mlal-lane.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-neon-mlal-lane.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-sse2-u64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-vclamp_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qu8-rdsum_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-sse41-u64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-vclamp_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-sse41-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-rdsum_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
+ 
+-  source_set("s8-vclamp_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-vclamp_x64_standalone") {
+-    cflags = []
++source_set("qu8-rsum_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("subgraph_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/subgraph/argmax-pooling-2d.c",
+-      "src/src/subgraph/average-pooling-2d.c",
+-      "src/src/subgraph/batch-matrix-multiply.c",
+-      "src/src/subgraph/binary.c",
+-      "src/src/subgraph/concatenate.c",
+-      "src/src/subgraph/convolution-2d.c",
+-      "src/src/subgraph/copy.c",
+-      "src/src/subgraph/deconvolution-2d.c",
+-      "src/src/subgraph/deprecated.c",
+-      "src/src/subgraph/depth-to-space-2d.c",
+-      "src/src/subgraph/depthwise-convolution-2d.c",
+-      "src/src/subgraph/even-split.c",
+-      "src/src/subgraph/fully-connected-sparse.c",
+-      "src/src/subgraph/fully-connected.c",
+-      "src/src/subgraph/max-pooling-2d.c",
+-      "src/src/subgraph/pack-lh.c",
+-      "src/src/subgraph/reshape-helpers.c",
+-      "src/src/subgraph/rope.c",
+-      "src/src/subgraph/softmax.c",
+-      "src/src/subgraph/space-to-depth-2d.c",
+-      "src/src/subgraph/static-constant-pad.c",
+-      "src/src/subgraph/static-reduce.c",
+-      "src/src/subgraph/static-resize-bilinear-2d.c",
+-      "src/src/subgraph/static-slice.c",
+-      "src/src/subgraph/static-transpose.c",
+-      "src/src/subgraph/unary.c",
+-      "src/src/subgraph/unpooling-2d.c",
+-      "src/src/subgraph/validation.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qu8-rsum_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("subgraph_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/subgraph/argmax-pooling-2d.c",
+-      "src/src/subgraph/average-pooling-2d.c",
+-      "src/src/subgraph/batch-matrix-multiply.c",
+-      "src/src/subgraph/binary.c",
+-      "src/src/subgraph/concatenate.c",
+-      "src/src/subgraph/convolution-2d.c",
+-      "src/src/subgraph/copy.c",
+-      "src/src/subgraph/deconvolution-2d.c",
+-      "src/src/subgraph/deprecated.c",
+-      "src/src/subgraph/depth-to-space-2d.c",
+-      "src/src/subgraph/depthwise-convolution-2d.c",
+-      "src/src/subgraph/even-split.c",
+-      "src/src/subgraph/fully-connected-sparse.c",
+-      "src/src/subgraph/fully-connected.c",
+-      "src/src/subgraph/max-pooling-2d.c",
+-      "src/src/subgraph/pack-lh.c",
+-      "src/src/subgraph/reshape-helpers.c",
+-      "src/src/subgraph/rope.c",
+-      "src/src/subgraph/softmax.c",
+-      "src/src/subgraph/space-to-depth-2d.c",
+-      "src/src/subgraph/static-constant-pad.c",
+-      "src/src/subgraph/static-reduce.c",
+-      "src/src/subgraph/static-resize-bilinear-2d.c",
+-      "src/src/subgraph/static-slice.c",
+-      "src/src/subgraph/static-transpose.c",
+-      "src/src/subgraph/unary.c",
+-      "src/src/subgraph/unpooling-2d.c",
+-      "src/src/subgraph/validation.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("tables_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/tables/exp2-k-over-2048.c",
+-      "src/src/tables/exp2-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-16.c",
+-      "src/src/tables/exp2minus-k-over-2048.c",
+-      "src/src/tables/exp2minus-k-over-32.c",
+-      "src/src/tables/exp2minus-k-over-4.c",
+-      "src/src/tables/exp2minus-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-8.c",
+-      "src/src/tables/vlog.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("tables_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/tables/exp2-k-over-2048.c",
+-      "src/src/tables/exp2-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-16.c",
+-      "src/src/tables/exp2minus-k-over-2048.c",
+-      "src/src/tables/exp2minus-k-over-32.c",
+-      "src/src/tables/exp2minus-k-over-4.c",
+-      "src/src/tables/exp2minus-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-8.c",
+-      "src/src/tables/vlog.c",
+-    ]
++source_set("qu8-vadd_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-ibilinear_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-ibilinear_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-ibilinear_sse4.1-no-sse4.2") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++source_set("qu8-vaddc_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-ibilinear_sse4.1-no-sse4.2_standalone") {
+-    cflags = [
+-      "-mno-sse4.2",
+-      "-msse4.1",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-  source_set("u8-ibilinear_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-ibilinear_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
+-    ]
++source_set("qu8-vcvt_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-lut32norm_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-lut32norm/u8-lut32norm-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-lut32norm_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-lut32norm/u8-lut32norm-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-maxpool_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("qu8-vlrelu_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-maxpool_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-  source_set("u8-maxpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-maxpool_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++source_set("qu8-vmul_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-rdminmax_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rdminmax_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-rdminmax_x64") {
+-    cflags = []
++source_set("qu8-vmulc_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rdminmax_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-u16.c"
++  ]
+ 
+-  source_set("u8-rminmax_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rminmax_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("reference_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("u8-rminmax_x64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("reference_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rminmax_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-vclamp_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("s8-ibilinear_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-avx2-u128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-vclamp_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-avx2-u128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-ibilinear_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c",
+-    ]
++source_set("s8-maxpool_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-vclamp_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-sse2-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-maxpool_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-vclamp_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-sse2-u64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-vclamp_x64") {
+-    cflags = []
++source_set("s8-rdminmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-vclamp_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-rdminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  source_set("x16-packw_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-packw_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c",
+-    ]
++source_set("s8-rminmax_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x16-transposec_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-rminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-transposec_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x16-transposec_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("s8-vclamp_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-neon-u64.c",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-transposec_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-neon-u64.c",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
+ 
+-  source_set("x16-transposec_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-transposec_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
+-    ]
++source_set("subgraph_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x16-x32-packw_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("subgraph_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-x32-packw_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x24-transposec_ssse3-no-sse4.1") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++source_set("tables_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/x24-transposec-4x4-ssse3.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x24-transposec_ssse3-no-sse4.1_standalone") {
+-    cflags = [
+-      "-mno-sse4.1",
+-      "-mssse3",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/x24-transposec-4x4-ssse3.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("tables_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
+ 
+-  source_set("x24-transposec_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x24-transposec_x64_standalone") {
+-    cflags = []
++source_set("u8-ibilinear_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("x32-packw_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-ibilinear_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x32-packw_avx512f") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c",
+-    ]
++source_set("u8-lut32norm_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-packw_avx512f_standalone") {
+-    cflags = [ "-mavx512f" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("u8-lut32norm_arm64_standalone") {
++  cflags = [
+ 
+-  source_set("x32-packw_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-packw_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("u8-maxpool_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x32-packw_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("u8-maxpool_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-packw_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++source_set("u8-rdminmax_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-rdminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  source_set("x32-transposec_sse-no-sse2") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/x32-transposec-4x4-sse.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-transposec_sse-no-sse2_standalone") {
+-    cflags = [
+-      "-mno-sse2",
+-      "-msse",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/x32-transposec-4x4-sse.c",
+-    ]
++source_set("u8-rminmax_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x32-transposec_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-rminmax_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-transposec_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x32-unpool_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("u8-vclamp_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-sse2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-neon-u64.c",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-unpool_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-sse2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-neon-u64.c",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-  source_set("x32-unpool_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-unpool_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-scalar.c",
+-    ]
++source_set("x16-packw_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-neon-ld4lane-u8-prfm.c",
++    "src/src/x16-packw/gen/x16-packw-x8-gemm-goi-neon-ld4lane-u8-prfm.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-neon-ld4lane-u8-prfm.c",
++    "src/src/x16-packw/gen/x16-packw-x8-gemm-goi-neon-ld4lane-u8-prfm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x64-transposec_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("x16-transposec_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
++    "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x64-transposec_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-transposec_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
++    "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c"
++  ]
+ 
+-  source_set("x64-transposec_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x64-transposec_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c",
+-    ]
++source_set("x16-x32-packw_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x8-lut_avx-no-avx2-no-f16c-no-fma") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx-u64.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-x32-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-lut_avx-no-avx2-no-f16c-no-fma_standalone") {
+-    cflags = [
+-      "-mavx",
+-      "-mno-avx2",
+-      "-mno-f16c",
+-      "-mno-fma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx-u64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x8-lut_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("x24-transposec_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx2-u128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
++    "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c",
++    "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-lut_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx2-u128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x24-transposec_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
++    "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c",
++    "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("x32-packw_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set(
+-      "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vbmi",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set(
+-      "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone") {
+-    cflags = [
+-      "-mavx512bw",
+-      "-mavx512cd",
+-      "-mavx512dq",
+-      "-mavx512f",
+-      "-mavx512vbmi",
+-      "-mavx512vl",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c",
++    "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x8-lut_x64") {
+-    cflags = []
++source_set("x32-transposec_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
++    "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c",
++    "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-lut_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-transposec_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
++    "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c",
++    "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c"
++  ]
+ 
+-  source_set("x8-packq_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-packq_x64_standalone") {
+-    cflags = []
++source_set("x32-unpool_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-neon.c",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x8-packw_x64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x32-unpool_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-packw_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-neon.c",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x8-transposec_f16c-fma-avx2") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++source_set("x64-transposec_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-multi-dec-zip-neon.c",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-reuse-dec-zip-neon.c",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-transposec_f16c-fma-avx2_standalone") {
+-    cflags = [
+-      "-mavx2",
+-      "-mf16c",
+-      "-mfma",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x64-transposec_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-multi-dec-zip-neon.c",
++    "src/src/x64-transposec/gen/x64-transposec-2x2-reuse-dec-zip-neon.c",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-  source_set("x8-transposec_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-transposec_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c",
+-    ]
++source_set("x8-lut_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x8-transposec_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-lut_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-transposec_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("xx-copy_x64") {
+-    cflags = []
++source_set("x8-packq_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-copy/xx-copy-scalar-memcpy.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-copy_x64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-copy/xx-copy-scalar-memcpy.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-packq_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-  source_set("xx-fill_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-sse2-u64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-fill_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-sse2-u64.c",
+-    ]
++source_set("x8-packw_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("xx-fill_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-scalar-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-packw_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-fill_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-scalar-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("xx-pad_sse2-no-sse3") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++source_set("x8-transposec_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p16-sse2-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-pad_sse2-no-sse3_standalone") {
+-    cflags = [
+-      "-mno-sse3",
+-      "-msse2",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p16-sse2-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-transposec_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-  source_set("xx-pad_x64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p4-scalar-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-pad_x64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p4-scalar-u16.c",
+-    ]
++source_set("xx-copy_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("xx-transposev_x64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-copy_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-transposev_x64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
+ }
+ 
+-if (current_cpu == "arm64") {
+-  source_set("configs_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/configs/argmaxpool-config.c",
+-      "src/src/configs/avgpool-config.c",
+-      "src/src/configs/binary-elementwise-config.c",
+-      "src/src/configs/cmul-config.c",
+-      "src/src/configs/conv-hwc2chw-config.c",
+-      "src/src/configs/dwconv-config.c",
+-      "src/src/configs/dwconv2d-chw-config.c",
+-      "src/src/configs/gemm-config.c",
+-      "src/src/configs/hardware-config.c",
+-      "src/src/configs/ibilinear-chw-config.c",
+-      "src/src/configs/ibilinear-config.c",
+-      "src/src/configs/lut32norm-config.c",
+-      "src/src/configs/maxpool-config.c",
+-      "src/src/configs/pack-lh-config.c",
+-      "src/src/configs/raddstoreexpminusmax-config.c",
+-      "src/src/configs/reduce-config.c",
+-      "src/src/configs/spmm-config.c",
+-      "src/src/configs/transpose-config.c",
+-      "src/src/configs/unary-elementwise-config.c",
+-      "src/src/configs/unpool-config.c",
+-      "src/src/configs/vmulcaddc-config.c",
+-      "src/src/configs/x8-lut-config.c",
+-      "src/src/configs/xx-fill-config.c",
+-      "src/src/configs/xx-pad-config.c",
+-    ]
++source_set("xx-fill_arm64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-neon-u64.c",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("configs_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/configs/argmaxpool-config.c",
+-      "src/src/configs/avgpool-config.c",
+-      "src/src/configs/binary-elementwise-config.c",
+-      "src/src/configs/cmul-config.c",
+-      "src/src/configs/conv-hwc2chw-config.c",
+-      "src/src/configs/dwconv-config.c",
+-      "src/src/configs/dwconv2d-chw-config.c",
+-      "src/src/configs/gemm-config.c",
+-      "src/src/configs/hardware-config.c",
+-      "src/src/configs/ibilinear-chw-config.c",
+-      "src/src/configs/ibilinear-config.c",
+-      "src/src/configs/lut32norm-config.c",
+-      "src/src/configs/maxpool-config.c",
+-      "src/src/configs/pack-lh-config.c",
+-      "src/src/configs/raddstoreexpminusmax-config.c",
+-      "src/src/configs/reduce-config.c",
+-      "src/src/configs/spmm-config.c",
+-      "src/src/configs/transpose-config.c",
+-      "src/src/configs/unary-elementwise-config.c",
+-      "src/src/configs/unpool-config.c",
+-      "src/src/configs/vmulcaddc-config.c",
+-      "src/src/configs/x8-lut-config.c",
+-      "src/src/configs/xx-fill-config.c",
+-      "src/src/configs/xx-pad-config.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("enums_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/enums/allocation-type.c",
+-      "src/src/enums/datatype-strings.c",
+-      "src/src/enums/microkernel-type.c",
+-      "src/src/enums/node-type.c",
+-      "src/src/enums/operator-type.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-fill_arm64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-neon-u64.c",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("enums_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/enums/allocation-type.c",
+-      "src/src/enums/datatype-strings.c",
+-      "src/src/enums/microkernel-type.c",
+-      "src/src/enums/node-type.c",
+-      "src/src/enums/operator-type.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-avgpool_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("xx-pad_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p16-neon-u16.c",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-pad_arm64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p16-neon-u16.c",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-  source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("xx-transposev_arm64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("xx-transposev_arm64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c",
+-      "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-dwconv_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-dwconv_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c",
+-      "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++if (current_cpu == "ppc64") {
++source_set("configs_ppc64") {
++  cflags = [
+ 
+-  source_set("f16-f32-vcvt_arm64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c",
+-      "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("configs_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/configs/argmaxpool-config.c",
++    "src/src/configs/avgpool-config.c",
++    "src/src/configs/binary-elementwise-config.c",
++    "src/src/configs/cmul-config.c",
++    "src/src/configs/conv-hwc2chw-config.c",
++    "src/src/configs/dwconv-config.c",
++    "src/src/configs/dwconv2d-chw-config.c",
++    "src/src/configs/gemm-config.c",
++    "src/src/configs/hardware-config.c",
++    "src/src/configs/ibilinear-chw-config.c",
++    "src/src/configs/ibilinear-config.c",
++    "src/src/configs/lut32norm-config.c",
++    "src/src/configs/maxpool-config.c",
++    "src/src/configs/pack-lh-config.c",
++    "src/src/configs/raddstoreexpminusmax-config.c",
++    "src/src/configs/reduce-config.c",
++    "src/src/configs/spmm-config.c",
++    "src/src/configs/transpose-config.c",
++    "src/src/configs/unary-elementwise-config.c",
++    "src/src/configs/unpool-config.c",
++    "src/src/configs/vmulcaddc-config.c",
++    "src/src/configs/x8-lut-config.c",
++    "src/src/configs/xx-fill-config.c",
++    "src/src/configs/xx-pad-config.c"
++  ]
+ 
+-  source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("enums_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("enums_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/enums/allocation-type.c",
++    "src/src/enums/datatype-strings.c",
++    "src/src/enums/microkernel-type.c",
++    "src/src/enums/node-type.c",
++    "src/src/enums/operator-type.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-gemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c",
+-    ]
++source_set("f16-f32-vcvt_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-gemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-f32-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
+-      "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f16-qs8-vcvt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-qs8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-  source_set("f16-ibilinear_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f16-qu8-vcvt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-igemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f16-qu8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-igemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c",
+-      "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S",
+-      "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S",
+-    ]
++source_set("f16-rdminmax_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-maxpool_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rdminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
++    "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f16-rminmax_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-rminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
++    "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-  source_set("f16-qs8-vcvt_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-qs8-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c",
+-    ]
++source_set("f16-vapproxgelu_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-qu8-vcvt_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vapproxgelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-qu8-vcvt_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f16-vcos_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vcos_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c"
++  ]
+ 
+-  source_set("f16-rdminmax_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rdminmax_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c",
+-    ]
++source_set("f16-vexp_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-rdminmax_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vexp_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rdminmax_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-rminmax_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f16-vgelu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rminmax_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f16-vgelu_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("f16-rminmax_arm64") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-rminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c",
+-      "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c",
+-    ]
++source_set("f16-vsin_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-spmm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f16-vsin_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-spmm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vapproxgelu_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f32-argmaxpool_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-argmaxpool_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c"
++  ]
+ 
+-  source_set("f16-vapproxgelu_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vapproxgelu_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-avgpool_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-vbinary_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vbinary_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c",
+-      "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c",
+-      "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c",
+-      "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-avgpool_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-  source_set("f16-vclamp_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vclamp_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c",
+-    ]
++source_set("f32-conv-hwc2chw_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vcmul_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-conv-hwc2chw_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vcos_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f32-dwconv2d-chw_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vcos_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv2d-chw_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
++    "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c"
++  ]
+ 
+-  source_set("f16-vcos_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vcos_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c",
+-    ]
++source_set("f32-dwconv_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-velu_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-dwconv_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-velu_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
++    "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vexp_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f32-f16-vcvt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vexp_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-f16-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c"
++  ]
+ 
+-  source_set("f16-vexp_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vexp_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c",
+-    ]
++source_set("f32-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vgelu_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
++    "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vgelu_arm64") {
+-    cflags = []
++source_set("f32-ibilinear-chw_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vgelu_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear-chw_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c"
++  ]
+ 
+-  source_set("f16-vhswish_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vhswish_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c",
+-    ]
++source_set("f32-ibilinear_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vlrelu_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-ibilinear_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vmulcaddc_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-igemm_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vmulcaddc_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f16-vrnd_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-igemm_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
++    "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vrnd_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c",
+-      "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vrsqrt_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f32-maxpool_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-maxpool_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-  source_set("f16-vsigmoid_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsigmoid_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c",
+-      "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c",
+-    ]
++source_set("f32-qc4w-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vsin_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc4w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vsin_arm64") {
+-    cflags = []
++source_set("f32-qc8w-gemm_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsin_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qc8w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  source_set("f16-vsqrt_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vsqrt_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c",
+-      "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c",
+-    ]
++source_set("f32-qs8-vcvt_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f16-vtanh_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c",
+-      "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-qs8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c",
+-      "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f16-vunary_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("f32-qu8-vcvt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vabs-neonfp16arith-u16.c",
+-      "src/src/f16-vunary/gen/f16-vneg-neonfp16arith-u16.c",
+-      "src/src/f16-vunary/gen/f16-vsqr-neonfp16arith-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f16-vunary_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f16-vunary/gen/f16-vabs-neonfp16arith-u16.c",
+-      "src/src/f16-vunary/gen/f16-vneg-neonfp16arith-u16.c",
+-      "src/src/f16-vunary/gen/f16-vsqr-neonfp16arith-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("f32-qu8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
++    "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c"
++  ]
+ 
+-  source_set("f32-argmaxpool_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-argmaxpool_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c",
+-      "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c",
+-    ]
++source_set("f32-raddstoreexpminusmax_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-avgpool_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-raddstoreexpminusmax_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-avgpool_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c",
+-      "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-conv-hwc2chw_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
+-    ]
++source_set("f32-rdminmax_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-conv-hwc2chw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c",
+-      "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-dwconv2d-chw_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rdminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
++    "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv2d-chw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c",
+-      "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++source_set("f32-rdsum_ppc64") {
++  cflags = [
+ 
+-    asmflags = cflags
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    asmflags = cflags
++# This is a target that cannot depend on //base.
++source_set("f32-rdsum_ppc64_standalone") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-dwconv_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-dwconv_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c",
+-      "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-rminmax_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
+ 
+-  source_set("f32-f16-vcvt_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-rminmax_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-f16-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c",
+-      "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
++    "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-rsum_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-2x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-rsum_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c"
++  ]
+ 
+-  source_set("f32-ibilinear-chw_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear-chw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c",
+-      "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-spmm_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
+ 
+-  source_set("f32-ibilinear_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-spmm_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-ibilinear_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c",
+-      "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
++    "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S",
+-      "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-vapproxgelu_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-igemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-igemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-2x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vapproxgelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-  source_set("f32-maxpool_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-maxpool_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c",
+-      "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
++source_set("f32-vbinary_ppc64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-qc4w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc4w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("f32-vbinary_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
++    "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
++    "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c"
++  ]
+ 
+-    asmflags = cflags
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
++source_set("f32-vclamp_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-qc8w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-vclamp_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qc8w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c",
+-      "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-qs8-vcvt_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qs8-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-vcmul_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-qu8-vcvt_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-qu8-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u1.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c",
+-      "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vcmul_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c"
++  ]
+ 
+-  source_set("f32-raddstoreexpminusmax_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-raddstoreexpminusmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c",
+-      "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-vcopysign_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-rdminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c",
+-      "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vcopysign_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
++    "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c"
++  ]
+ 
+-  source_set("f32-rdsum_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rdsum_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c",
+-      "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("f32-vcos_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-rminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c",
+-      "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vcos_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c"
++  ]
+ 
+-  source_set("f32-rsum_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c",
+-      "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-rsum_arm64_standalone") {
+-    cflags = []
++source_set("f32-velu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c",
+-      "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-spmm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-velu_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-spmm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c",
+-      "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c",
+-      "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
++    "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vapproxgelu_arm64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-vexp_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vapproxgelu_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c",
+-      "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vbinary_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vexp_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vbinary_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c",
+-      "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vclamp_arm64") {
+-    cflags = []
++source_set("f32-vgelu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-neon-u16.c",
+-      "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vclamp_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vclamp/gen/f32-vclamp-neon-u16.c",
+-      "src/src/f32-vclamp/gen/f32-vclamp-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vgelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c"
++  ]
+ 
+-  source_set("f32-vcmul_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c",
+-      "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcmul_arm64_standalone") {
+-    cflags = []
++source_set("f32-vhswish_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c",
+-      "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vcopysign_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-vhswish_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcopysign_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c",
+-      "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  source_set("f32-vcos_arm64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c",
+-      "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-vlog_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vcos_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c",
+-      "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-velu_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c",
+-      "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c",
+-      "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vlog_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-velu_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c",
+-      "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c",
+-      "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u2.c",
+-      "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vexp_arm64") {
+-    cflags = []
++source_set("f32-vlrelu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c",
+-      "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vexp_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c",
+-      "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vlrelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c"
++  ]
+ 
+-  source_set("f32-vgelu_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c",
+-      "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vgelu_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c",
+-      "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c",
+-    ]
++source_set("f32-vmulcaddc_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vhswish_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-neon-u16.c",
+-      "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vmulcaddc_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vhswish_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vhswish/gen/f32-vhswish-neon-u16.c",
+-      "src/src/f32-vhswish/gen/f32-vhswish-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vlog_arm64") {
+-    cflags = []
++source_set("f32-vrelu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c",
+-      "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlog_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c",
+-      "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c"
++  ]
+ 
+-  source_set("f32-vlrelu_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vlrelu_arm64_standalone") {
+-    cflags = []
++source_set("f32-vrnd_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c",
+-      "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("f32-vmulcaddc_arm64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrnd_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
++    "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vmulcaddc_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c",
+-      "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vrelu_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("f32-vrsqrt_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrelu_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrelu/gen/f32-vrelu-scalar-u8.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vrnd_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vrsqrt_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
++    "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrnd_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrnd/gen/f32-vrndd-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u4.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-neon-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-neonv8-u8.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c",
+-      "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
++
++source_set("f32-vsigmoid_ppc64") {
++  cflags = [
+ 
+-  source_set("f32-vrsqrt_arm64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt-u16.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vrsqrt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt-u16.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c",
+-      "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsigmoid_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c"
++  ]
+ 
+-  source_set("f32-vsigmoid_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsigmoid_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c",
+-      "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c",
+-    ]
++source_set("f32-vsin_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("f32-vsin_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c",
+-      "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsin_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsin_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c",
+-      "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("f32-vsqrt_arm64") {
+-    cflags = []
++source_set("f32-vsqrt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt-u4.c",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vsqrt_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt-u4.c",
+-      "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vsqrt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt-u1.c"
++  ]
+ 
+-  source_set("f32-vtanh_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c",
+-      "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vtanh_arm64_standalone") {
+-    cflags = []
++source_set("f32-vtanh_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c",
+-      "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("f32-vunary_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-neon.c",
+-      "src/src/f32-vunary/gen/f32-vabs-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vneg-neon.c",
+-      "src/src/f32-vunary/gen/f32-vneg-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-neon.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("f32-vtanh_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("f32-vunary_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/f32-vunary/gen/f32-vabs-neon.c",
+-      "src/src/f32-vunary/gen/f32-vabs-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vneg-neon.c",
+-      "src/src/f32-vunary/gen/f32-vneg-scalar.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-neon.c",
+-      "src/src/f32-vunary/gen/f32-vsqr-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("operators_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/operators/argmax-pooling-nhwc.c",
+-      "src/src/operators/average-pooling-nhwc.c",
+-      "src/src/operators/batch-matrix-multiply-nc.c",
+-      "src/src/operators/binary-elementwise-nd.c",
+-      "src/src/operators/constant-pad-nd.c",
+-      "src/src/operators/convolution-nchw.c",
+-      "src/src/operators/convolution-nhwc.c",
+-      "src/src/operators/deconvolution-nhwc.c",
+-      "src/src/operators/dynamic-fully-connected-nc.c",
+-      "src/src/operators/fully-connected-nc.c",
+-      "src/src/operators/max-pooling-nhwc.c",
+-      "src/src/operators/pack-lh.c",
+-      "src/src/operators/reduce-nd.c",
+-      "src/src/operators/resize-bilinear-nchw.c",
+-      "src/src/operators/resize-bilinear-nhwc.c",
+-      "src/src/operators/rope-nthc.c",
+-      "src/src/operators/slice-nd.c",
+-      "src/src/operators/softmax-nc.c",
+-      "src/src/operators/transpose-nd.c",
+-      "src/src/operators/unary-elementwise-nc.c",
+-      "src/src/operators/unpooling-nhwc.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("operators_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/operators/argmax-pooling-nhwc.c",
+-      "src/src/operators/average-pooling-nhwc.c",
+-      "src/src/operators/batch-matrix-multiply-nc.c",
+-      "src/src/operators/binary-elementwise-nd.c",
+-      "src/src/operators/constant-pad-nd.c",
+-      "src/src/operators/convolution-nchw.c",
+-      "src/src/operators/convolution-nhwc.c",
+-      "src/src/operators/deconvolution-nhwc.c",
+-      "src/src/operators/dynamic-fully-connected-nc.c",
+-      "src/src/operators/fully-connected-nc.c",
+-      "src/src/operators/max-pooling-nhwc.c",
+-      "src/src/operators/pack-lh.c",
+-      "src/src/operators/reduce-nd.c",
+-      "src/src/operators/resize-bilinear-nchw.c",
+-      "src/src/operators/resize-bilinear-nhwc.c",
+-      "src/src/operators/rope-nthc.c",
+-      "src/src/operators/slice-nd.c",
+-      "src/src/operators/softmax-nc.c",
+-      "src/src/operators/transpose-nd.c",
+-      "src/src/operators/unary-elementwise-nc.c",
+-      "src/src/operators/unpooling-nhwc.c",
+-    ]
++source_set("f32-vunary_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("f32-vunary_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/f32-vunary/gen/f32-vabs-scalar.c",
++    "src/src/f32-vunary/gen/f32-vneg-scalar.c",
++    "src/src/f32-vunary/gen/f32-vsqr-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("operators_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("operators_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/operators/argmax-pooling-nhwc.c",
++    "src/src/operators/average-pooling-nhwc.c",
++    "src/src/operators/batch-matrix-multiply-nc.c",
++    "src/src/operators/binary-elementwise-nd.c",
++    "src/src/operators/constant-pad-nd.c",
++    "src/src/operators/convolution-nchw.c",
++    "src/src/operators/convolution-nhwc.c",
++    "src/src/operators/deconvolution-nhwc.c",
++    "src/src/operators/dynamic-fully-connected-nc.c",
++    "src/src/operators/fully-connected-nc.c",
++    "src/src/operators/max-pooling-nhwc.c",
++    "src/src/operators/pack-lh.c",
++    "src/src/operators/reduce-nd.c",
++    "src/src/operators/resize-bilinear-nchw.c",
++    "src/src/operators/resize-bilinear-nhwc.c",
++    "src/src/operators/rope-nthc.c",
++    "src/src/operators/slice-nd.c",
++    "src/src/operators/softmax-nc.c",
++    "src/src/operators/transpose-nd.c",
++    "src/src/operators/unary-elementwise-nc.c",
++    "src/src/operators/unpooling-nhwc.c"
++  ]
+ 
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++source_set("qd8-f32-qb4w-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qb4w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("qd8-f32-qc4w-gemm_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc4w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qd8-f32-qc8w-gemm_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c",
+-    ]
++source_set("qd8-f32-qc8w-igemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    asmflags = cflags
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondotfp16arith-cortex-a55.S",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qd8-f32-qc8w-igemm_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
++    "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    asmflags = cflags
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondotfp16arith-cortex-a55.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qs8-dwconv_ppc64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-dwconv_ppc64_standalone") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x8c4-minmax-neondotfp16arith.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-neondotfp16arith.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x8c4-minmax-neondotfp16arith.c",
+-    ]
++source_set("qs8-f32-vcvt_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c2s4-minmax-neonfp16arith-mlal.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-2x8c2s4-minmax-neonfp16arith-mlal.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-f32-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
++    "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c2s4-minmax-neonfp16arith-mlal.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-2x8c2s4-minmax-neonfp16arith-mlal.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++source_set("qs8-packw_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    asmflags = cflags
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-packw_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++source_set("qs8-qc4w-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc4w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qs8-qc8w-dwconv_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-dwconv_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qb4w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qb4w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c",
+-    ]
++source_set("qs8-qc8w-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qs8-qc8w-igemm_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qc8w-igemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc4w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc4w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qs8-qu8-packw_ppc64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-qu8-packw_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c"
++  ]
+ 
+-    asmflags = cflags
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++source_set("qs8-rdsum_ppc64") {
++  cflags = [
+ 
+-    asmflags = cflags
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++# This is a target that cannot depend on //base.
++source_set("qs8-rdsum_ppc64_standalone") {
++  cflags = [
+ 
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qs8-rsum_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qs8-rsum_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c",
+-    ]
++source_set("qs8-vadd_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    asmflags = cflags
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vadd_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
++    "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    asmflags = cflags
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("qs8-vaddc_ppc64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vaddc_ppc64_standalone") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
++    "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qd8-f32-qc8w-igemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qd8-f32-qc8w-igemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x2-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c",
+-      "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c",
+-    ]
++source_set("qs8-vcvt_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
++    "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qs8-vlrelu_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vlrelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-  source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c",
+-    ]
++source_set("qs8-vmul_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qs8-vmul_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++source_set("qs8-vmulc_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c4-mstep4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c8-aarch64-neondot.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c4-mstep4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c4-aarch64-neondot.c",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x4c8-aarch64-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
++
++# This is a target that cannot depend on //base.
++source_set("qs8-vmulc_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-  source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qu8-dwconv_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-dwconv_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qu8-dwconv_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-dwconv_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-rndnu-neon-mla8-ld64.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-dwconv/gen/qs8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c"
++  ]
++
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++source_set("qu8-f32-vcvt_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-f32-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
++    "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-f32-vcvt_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-f32-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u1.c",
+-      "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c",
+-    ]
++source_set("qu8-gemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-packw_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-gemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-packw_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++source_set("qu8-igemm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    asmflags = cflags
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-igemm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
++    "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c"
++  ]
+ 
+-  source_set("qs8-qc4w-gemm_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc4w-gemm_arm64_standalone") {
+-    cflags = []
++source_set("qu8-rdsum_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-dwconv_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neon-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neon-mla8-ld128.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld128.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neon-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qu8-rdsum_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-dwconv_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neon-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neon-mla8-ld128.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld128.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neon-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-neonv8-mla8-ld64.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qu8-rsum_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-rsum_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++source_set("qu8-vadd_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qu8-vadd_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
++    "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qu8-vaddc_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
+-
+-    asmflags = cflags
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vaddc_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
++    "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") {
+-    cflags = [ "-march=armv8.2-a+i8mm+fp16" ]
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("qu8-vcvt_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-qc8w-igemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qc8w-igemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neon-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c2s4-minmax-fp32-neonv8-mlal.c",
+-      "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vcvt_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
++    "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-qu8-packw_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-qu8-packw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c",
+-    ]
++source_set("qu8-vlrelu_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-rdsum_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vlrelu_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rdsum_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
++    "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c",
+-      "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-rsum_arch=armv8.2-a+dotprod") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++source_set("qu8-vmul_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+dotprod" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("qu8-vmul_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-  source_set("qs8-rsum_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c",
+-      "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-rsum_arm64_standalone") {
+-    cflags = []
++source_set("qu8-vmulc_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c",
+-      "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-vadd_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("qu8-vmulc_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vadd_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c",
+-      "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qs8-vaddc_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vaddc_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
+-
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++source_set("reference_ppc64") {
++  cflags = [
+ 
+-  source_set("qs8-vcvt_arm64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-neon-u32.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-neon-u32.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u1.c",
+-      "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("reference_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/reference/binary-elementwise.cc",
++    "src/src/reference/packing.cc",
++    "src/src/reference/unary-elementwise.cc"
++  ]
+ 
+-  source_set("qs8-vlrelu_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vlrelu_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-select-u4.c",
+-    ]
++source_set("s8-ibilinear_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qs8-vmul_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-ibilinear_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmul_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c",
+-      "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qs8-vmulc_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++source_set("s8-maxpool_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qs8-vmulc_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c",
+-      "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-dwconv_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-rndnu-neon-mul8.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-rndnu-neon-mul8.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-maxpool_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-dwconv_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p2c-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-rndnu-neon-mul8.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-rndnu-neon-mul8.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p1c-minmax-fp32-scalar-fmagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-dwconv/gen/qu8-dwconv-9p2c-minmax-fp32-scalar-lrintf.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-f32-vcvt_arm64") {
+-    cflags = []
++source_set("s8-rdminmax_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-u32.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-f32-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-u32.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u1.c",
+-      "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("s8-rdminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
++    "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    asmflags = cflags
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++source_set("s8-rminmax_ppc64") {
++  cflags = [
+ 
+-    asmflags = cflags
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-gemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-neon-mlal-lane.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("s8-rminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-gemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-1x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-3x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-neon-mlal-lane.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
++    "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
++
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++source_set("s8-vclamp_ppc64") {
++  cflags = [
+ 
+-    asmflags = cflags
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") {
+-    cflags = [ "-march=armv8.2-a+fp16+dotprod" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    asmflags = cflags
++# This is a target that cannot depend on //base.
++source_set("s8-vclamp_ppc64_standalone") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/s8-vclamp/s8-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-igemm_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-neon-mlal-lane.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-igemm_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-1x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-2x2-minmax-fp32-scalar-imagic.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-3x8-minmax-rndnu-neon-mlal-lane.c",
+-      "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-neon-mlal-lane.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
+-
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++source_set("subgraph_ppc64") {
++  cflags = [
+ 
+-  source_set("qu8-rdsum_arm64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rdsum_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c",
+-      "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("subgraph_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/subgraph/argmax-pooling-2d.c",
++    "src/src/subgraph/average-pooling-2d.c",
++    "src/src/subgraph/batch-matrix-multiply.c",
++    "src/src/subgraph/binary.c",
++    "src/src/subgraph/concatenate.c",
++    "src/src/subgraph/convolution-2d.c",
++    "src/src/subgraph/copy.c",
++    "src/src/subgraph/deconvolution-2d.c",
++    "src/src/subgraph/deprecated.c",
++    "src/src/subgraph/depth-to-space-2d.c",
++    "src/src/subgraph/depthwise-convolution-2d.c",
++    "src/src/subgraph/even-split.c",
++    "src/src/subgraph/fully-connected-sparse.c",
++    "src/src/subgraph/fully-connected.c",
++    "src/src/subgraph/max-pooling-2d.c",
++    "src/src/subgraph/pack-lh.c",
++    "src/src/subgraph/reshape-helpers.c",
++    "src/src/subgraph/rope.c",
++    "src/src/subgraph/softmax.c",
++    "src/src/subgraph/space-to-depth-2d.c",
++    "src/src/subgraph/static-constant-pad.c",
++    "src/src/subgraph/static-reduce.c",
++    "src/src/subgraph/static-resize-bilinear-2d.c",
++    "src/src/subgraph/static-slice.c",
++    "src/src/subgraph/static-transpose.c",
++    "src/src/subgraph/unary.c",
++    "src/src/subgraph/unpooling-2d.c",
++    "src/src/subgraph/validation.c"
++  ]
+ 
+-  source_set("qu8-rsum_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c",
+-      "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-rsum_arm64_standalone") {
+-    cflags = []
++source_set("tables_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c",
+-      "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-vadd_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("tables_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vadd_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c",
+-      "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/tables/exp2-k-over-2048.c",
++    "src/src/tables/exp2-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-16.c",
++    "src/src/tables/exp2minus-k-over-2048.c",
++    "src/src/tables/exp2minus-k-over-32.c",
++    "src/src/tables/exp2minus-k-over-4.c",
++    "src/src/tables/exp2minus-k-over-64.c",
++    "src/src/tables/exp2minus-k-over-8.c",
++    "src/src/tables/vlog.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("qu8-vaddc_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vaddc_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c",
+-      "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
+-
+-    public_configs = [ ":xnnpack_config" ]
+-
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++source_set("u8-ibilinear_ppc64") {
++  cflags = [
+ 
+-  source_set("qu8-vcvt_arm64") {
+-    cflags = []
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vcvt_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u1.c",
+-      "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-ibilinear_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c"
++  ]
+ 
+-  source_set("qu8-vlrelu_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vlrelu_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c",
+-      "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-select-u4.c",
+-    ]
++source_set("u8-lut32norm_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("qu8-vmul_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-lut32norm_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmul_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-lut32norm/u8-lut32norm-scalar.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c",
+-      "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("qu8-vmulc_arm64") {
+-    cflags = []
++source_set("u8-maxpool_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("qu8-vmulc_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c",
+-      "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-maxpool_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c"
++  ]
+ 
+-  source_set("reference_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/reference/binary-elementwise.cc",
+-      "src/src/reference/packing.cc",
+-      "src/src/reference/unary-elementwise.cc",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("reference_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/reference/binary-elementwise.cc",
+-      "src/src/reference/packing.cc",
+-      "src/src/reference/unary-elementwise.cc",
+-    ]
++source_set("u8-rdminmax_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("s8-ibilinear_arm64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-rdminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
++    "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-ibilinear_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c",
+-      "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("s8-maxpool_arm64") {
+-    cflags = []
++source_set("u8-rminmax_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-maxpool_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c",
+-      "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("u8-rminmax_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("s8-rdminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
++    "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rdminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c",
+-      "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
++  }
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++source_set("u8-vclamp_ppc64") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("s8-rminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-rminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c",
+-      "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("u8-vclamp_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
+ 
+-  source_set("s8-vclamp_arm64") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/u8-vclamp/u8-vclamp-scalar-u4.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-neon-u64.c",
+-      "src/src/s8-vclamp/s8-vclamp-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("s8-vclamp_arm64_standalone") {
+-    cflags = []
++source_set("x16-transposec_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/s8-vclamp/s8-vclamp-neon-u64.c",
+-      "src/src/s8-vclamp/s8-vclamp-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("subgraph_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/subgraph/argmax-pooling-2d.c",
+-      "src/src/subgraph/average-pooling-2d.c",
+-      "src/src/subgraph/batch-matrix-multiply.c",
+-      "src/src/subgraph/binary.c",
+-      "src/src/subgraph/concatenate.c",
+-      "src/src/subgraph/convolution-2d.c",
+-      "src/src/subgraph/copy.c",
+-      "src/src/subgraph/deconvolution-2d.c",
+-      "src/src/subgraph/deprecated.c",
+-      "src/src/subgraph/depth-to-space-2d.c",
+-      "src/src/subgraph/depthwise-convolution-2d.c",
+-      "src/src/subgraph/even-split.c",
+-      "src/src/subgraph/fully-connected-sparse.c",
+-      "src/src/subgraph/fully-connected.c",
+-      "src/src/subgraph/max-pooling-2d.c",
+-      "src/src/subgraph/pack-lh.c",
+-      "src/src/subgraph/reshape-helpers.c",
+-      "src/src/subgraph/rope.c",
+-      "src/src/subgraph/softmax.c",
+-      "src/src/subgraph/space-to-depth-2d.c",
+-      "src/src/subgraph/static-constant-pad.c",
+-      "src/src/subgraph/static-reduce.c",
+-      "src/src/subgraph/static-resize-bilinear-2d.c",
+-      "src/src/subgraph/static-slice.c",
+-      "src/src/subgraph/static-transpose.c",
+-      "src/src/subgraph/unary.c",
+-      "src/src/subgraph/unpooling-2d.c",
+-      "src/src/subgraph/validation.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x16-transposec_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("subgraph_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/subgraph/argmax-pooling-2d.c",
+-      "src/src/subgraph/average-pooling-2d.c",
+-      "src/src/subgraph/batch-matrix-multiply.c",
+-      "src/src/subgraph/binary.c",
+-      "src/src/subgraph/concatenate.c",
+-      "src/src/subgraph/convolution-2d.c",
+-      "src/src/subgraph/copy.c",
+-      "src/src/subgraph/deconvolution-2d.c",
+-      "src/src/subgraph/deprecated.c",
+-      "src/src/subgraph/depth-to-space-2d.c",
+-      "src/src/subgraph/depthwise-convolution-2d.c",
+-      "src/src/subgraph/even-split.c",
+-      "src/src/subgraph/fully-connected-sparse.c",
+-      "src/src/subgraph/fully-connected.c",
+-      "src/src/subgraph/max-pooling-2d.c",
+-      "src/src/subgraph/pack-lh.c",
+-      "src/src/subgraph/reshape-helpers.c",
+-      "src/src/subgraph/rope.c",
+-      "src/src/subgraph/softmax.c",
+-      "src/src/subgraph/space-to-depth-2d.c",
+-      "src/src/subgraph/static-constant-pad.c",
+-      "src/src/subgraph/static-reduce.c",
+-      "src/src/subgraph/static-resize-bilinear-2d.c",
+-      "src/src/subgraph/static-slice.c",
+-      "src/src/subgraph/static-transpose.c",
+-      "src/src/subgraph/unary.c",
+-      "src/src/subgraph/unpooling-2d.c",
+-      "src/src/subgraph/validation.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("tables_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/tables/exp2-k-over-2048.c",
+-      "src/src/tables/exp2-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-16.c",
+-      "src/src/tables/exp2minus-k-over-2048.c",
+-      "src/src/tables/exp2minus-k-over-32.c",
+-      "src/src/tables/exp2minus-k-over-4.c",
+-      "src/src/tables/exp2minus-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-8.c",
+-      "src/src/tables/vlog.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("tables_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/tables/exp2-k-over-2048.c",
+-      "src/src/tables/exp2-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-16.c",
+-      "src/src/tables/exp2minus-k-over-2048.c",
+-      "src/src/tables/exp2minus-k-over-32.c",
+-      "src/src/tables/exp2minus-k-over-4.c",
+-      "src/src/tables/exp2minus-k-over-64.c",
+-      "src/src/tables/exp2minus-k-over-8.c",
+-      "src/src/tables/vlog.c",
+-    ]
++source_set("x16-x32-packw_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-ibilinear_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x16-x32-packw_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-ibilinear_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c",
+-      "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
++    "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
++
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("u8-lut32norm_arm64") {
+-    cflags = []
++source_set("x24-transposec_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-lut32norm/u8-lut32norm-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-lut32norm_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-lut32norm/u8-lut32norm-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x24-transposec_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c"
++  ]
+ 
+-  source_set("u8-maxpool_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-maxpool_arm64_standalone") {
+-    cflags = []
++source_set("x32-packw_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c",
+-      "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("u8-rdminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++# This is a target that cannot depend on //base.
++source_set("x32-packw_ppc64_standalone") {
++  cflags = [
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rdminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c",
+-      "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
++    "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
++    "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("u8-rminmax_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-rminmax_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c",
+-      "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c",
+-    ]
++source_set("x32-transposec_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("u8-vclamp_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-neon-u64.c",
+-      "src/src/u8-vclamp/u8-vclamp-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-transposec_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("u8-vclamp_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/u8-vclamp/u8-vclamp-neon-u64.c",
+-      "src/src/u8-vclamp/u8-vclamp-scalar-u4.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x16-packw_arm64") {
+-    cflags = []
++source_set("x32-unpool_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-neon-ld4lane-u8-prfm.c",
+-      "src/src/x16-packw/gen/x16-packw-x8-gemm-goi-neon-ld4lane-u8-prfm.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-packw_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-neon-ld4lane-u8-prfm.c",
+-      "src/src/x16-packw/gen/x16-packw-x8-gemm-goi-neon-ld4lane-u8-prfm.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x32-unpool_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x32-unpool/x32-unpool-scalar.c"
++  ]
+ 
+-  source_set("x16-transposec_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
+-      "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-transposec_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c",
+-      "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c",
+-    ]
++source_set("x64-transposec_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("x16-x32-packw_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x64-transposec_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x16-x32-packw_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c",
+-      "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x24-transposec_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
+-      "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c",
+-      "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c",
+-    ]
++source_set("x8-lut_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x24-transposec_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c",
+-      "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c",
+-      "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x32-packw_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-lut_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-lut/gen/x8-lut-scalar-u4.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-packw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c",
+-      "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c",
+-      "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c",
+-      "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c",
+-      "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x32-transposec_arm64") {
+-    cflags = []
++source_set("x8-packq_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
+-      "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c",
+-      "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-transposec_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c",
+-      "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c",
+-      "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    public_configs = [ ":xnnpack_config" ]
++# This is a target that cannot depend on //base.
++source_set("x8-packq_ppc64_standalone") {
++  cflags = [
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  ]
++
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c"
++  ]
+ 
+-  source_set("x32-unpool_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-neon.c",
+-      "src/src/x32-unpool/x32-unpool-scalar.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x32-unpool_arm64_standalone") {
+-    cflags = []
++source_set("x8-packw_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x32-unpool/x32-unpool-neon.c",
+-      "src/src/x32-unpool/x32-unpool-scalar.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  source_set("x64-transposec_arm64") {
+-    cflags = []
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-multi-dec-zip-neon.c",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-reuse-dec-zip-neon.c",
+-      "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-packw_ppc64_standalone") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
++    "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c"
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x64-transposec_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-multi-dec-zip-neon.c",
+-      "src/src/x64-transposec/gen/x64-transposec-2x2-reuse-dec-zip-neon.c",
+-      "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("x8-lut_arm64") {
+-    cflags = []
++source_set("x8-transposec_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c",
+-      "src/src/x8-lut/gen/x8-lut-scalar-u4.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-lut_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c",
+-      "src/src/x8-lut/gen/x8-lut-scalar-u4.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("x8-transposec_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c"
++  ]
+ 
+-  source_set("x8-packq_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c",
+-      "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-packq_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c",
+-      "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c",
+-    ]
+-
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++source_set("xx-copy_ppc64") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
+-
+-  source_set("x8-packw_arm64") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-packw_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c",
+-      "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-copy_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-copy/xx-copy-scalar-memcpy.c"
++  ]
+ 
+-  source_set("x8-transposec_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c",
+-      "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("x8-transposec_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c",
+-      "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c",
+-    ]
++source_set("xx-fill_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("xx-copy_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-copy/xx-copy-scalar-memcpy.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-fill_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-copy_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-fill/xx-fill-scalar-u16.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-copy/xx-copy-scalar-memcpy.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  source_set("xx-fill_arm64") {
+-    cflags = []
++source_set("xx-pad_ppc64") {
++  cflags = [
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-neon-u64.c",
+-      "src/src/xx-fill/xx-fill-scalar-u16.c",
+-    ]
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-fill_arm64_standalone") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-fill/xx-fill-neon-u64.c",
+-      "src/src/xx-fill/xx-fill-scalar-u16.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-pad_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-pad/xx-pad-p4-scalar-u16.c"
++  ]
+ 
+-  source_set("xx-pad_arm64") {
+-    cflags = []
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p16-neon-u16.c",
+-      "src/src/xx-pad/xx-pad-p4-scalar-u16.c",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
++}
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-pad_arm64_standalone") {
+-    cflags = []
+-
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-pad/xx-pad-p16-neon-u16.c",
+-      "src/src/xx-pad/xx-pad-p4-scalar-u16.c",
+-    ]
++source_set("xx-transposev_ppc64") {
++  cflags = [
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
+-  }
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-  source_set("xx-transposev_arm64") {
+-    cflags = []
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool",
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c",
+-    ]
++  public_configs = [ ":xnnpack_config" ]
++}
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool",
+-    ]
++# This is a target that cannot depend on //base.
++source_set("xx-transposev_ppc64_standalone") {
++  cflags = [
+ 
+-    public_configs = [ ":xnnpack_config" ]
+-  }
++  ]
+ 
+-  # This is a target that cannot depend on //base.
+-  source_set("xx-transposev_arm64_standalone") {
+-    cflags = []
++  sources = [
++    "src/include/xnnpack.h",
++    "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c"
++  ]
+ 
+-    sources = [
+-      "src/include/xnnpack.h",
+-      "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c",
+-    ]
++  configs -= [ "//build/config/compiler:chromium_code" ]
++  configs += [ "//build/config/compiler:no_chromium_code" ]
++  configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+ 
+-    configs -= [ "//build/config/compiler:chromium_code" ]
+-    configs += [ "//build/config/compiler:no_chromium_code" ]
+-    configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ]
+-
+-    deps = [
+-      "//third_party/cpuinfo",
+-      "//third_party/fp16",
+-      "//third_party/fxdiv",
+-      "//third_party/pthreadpool:pthreadpool_standalone",
+-    ]
++  deps = [
++    "//third_party/cpuinfo",
++    "//third_party/fp16",
++    "//third_party/fxdiv",
++    "//third_party/pthreadpool:pthreadpool_standalone",
++  ]
+ 
+-    public_configs = [ ":xnnpack_config" ]
++  public_configs = [ ":xnnpack_config" ]
+ 
+-    if (!(is_android && use_order_profiling)) {
+-      assert_no_deps = [ "//base" ]
+-    }
++  if (!(is_android && use_order_profiling)) {
++    assert_no_deps = [ "//base" ]
+   }
+ }
++
++}

diff --git a/chromium.spec b/chromium.spec
index c00ba2c..4d84705 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -432,6 +432,9 @@ Patch415: add-ppc64-pthread-stack-size.patch
 # Fix build error on el10
 Patch416: fix-ppc64-rust_png-build-error.patch
 
+Patch417: 0001-add-xnn-ppc64el-support.patch
+Patch418: 0002-regenerate-xnn-buildgn.patch
+
 # flatpak sandbox patches from
 # https://github.com/flathub/org.chromium.Chromium/tree/master/patches/chromium
 Patch500: flatpak-Add-initial-sandbox-support.patch
@@ -1120,6 +1123,8 @@ Qt6 UI for chromium.
 %patch -P413 -p1 -b .fix-unknown-warning-option-messages
 %patch -P415 -p1 -b .add-ppc64-pthread-stack-size
 %patch -P416 -p1 -b .ppc64-rust_png-build-error
+%patch -P417 -p1 -b .0001-add-xnn-ppc64el-support
+%patch -P418 -p1 -b .0002-regenerate-xnn-buildgn
 %endif
 
 %if 0%{?flatpak}

                 reply	other threads:[~2026-08-07 16:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178611887021.1.4546626043670199073.rpms-chromium-9175afe7bfaf@fedoraproject.org \
    --to=than@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox