diff --git a/.gitignore b/.gitignore index f1ff222..7589f13 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,11 @@ /node-v20.6.1-linux-x64.tar.xz /linux-arm64-0.19.2.tgz /linux-x64-0.19.2.tgz +/v0.69.4.tar.gz +/bindgen-cli-aarch64.tar.xz +/bindgen-cli-x86_64.tar.xz +/linux-ppc64-0.19.2.tgz +/node-v22.14.0-linux-arm64.tar.xz +/node-v22.14.0-linux-ppc64le.tar.xz +/node-v22.14.0-linux-x64.tar.xz +/node-v22.14.0-stripped.tar.gz diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch new file mode 100644 index 0000000..11ef25c --- /dev/null +++ b/0001-Add-PPC64-support-for-boringssl.patch @@ -0,0 +1,8911 @@ +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/abi_self_test.cc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc +@@ -521,3 +521,289 @@ TEST(ABITest, AArch64) { + CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper); + } + #endif // OPENSSL_AARCH64 && SUPPORTS_ABI_TEST ++ ++#if defined(OPENSSL_PPC64LE) && defined(SUPPORTS_ABI_TEST) ++extern "C" { ++void abi_test_clobber_r0(void); ++// r1 is the stack pointer. ++void abi_test_clobber_r2(void); ++void abi_test_clobber_r3(void); ++void abi_test_clobber_r4(void); ++void abi_test_clobber_r5(void); ++void abi_test_clobber_r6(void); ++void abi_test_clobber_r7(void); ++void abi_test_clobber_r8(void); ++void abi_test_clobber_r9(void); ++void abi_test_clobber_r10(void); ++void abi_test_clobber_r11(void); ++void abi_test_clobber_r12(void); ++// r13 is the thread pointer. ++void abi_test_clobber_r14(void); ++void abi_test_clobber_r15(void); ++void abi_test_clobber_r16(void); ++void abi_test_clobber_r17(void); ++void abi_test_clobber_r18(void); ++void abi_test_clobber_r19(void); ++void abi_test_clobber_r20(void); ++void abi_test_clobber_r21(void); ++void abi_test_clobber_r22(void); ++void abi_test_clobber_r23(void); ++void abi_test_clobber_r24(void); ++void abi_test_clobber_r25(void); ++void abi_test_clobber_r26(void); ++void abi_test_clobber_r27(void); ++void abi_test_clobber_r28(void); ++void abi_test_clobber_r29(void); ++void abi_test_clobber_r30(void); ++void abi_test_clobber_r31(void); ++ ++void abi_test_clobber_f0(void); ++void abi_test_clobber_f1(void); ++void abi_test_clobber_f2(void); ++void abi_test_clobber_f3(void); ++void abi_test_clobber_f4(void); ++void abi_test_clobber_f5(void); ++void abi_test_clobber_f6(void); ++void abi_test_clobber_f7(void); ++void abi_test_clobber_f8(void); ++void abi_test_clobber_f9(void); ++void abi_test_clobber_f10(void); ++void abi_test_clobber_f11(void); ++void abi_test_clobber_f12(void); ++void abi_test_clobber_f13(void); ++void abi_test_clobber_f14(void); ++void abi_test_clobber_f15(void); ++void abi_test_clobber_f16(void); ++void abi_test_clobber_f17(void); ++void abi_test_clobber_f18(void); ++void abi_test_clobber_f19(void); ++void abi_test_clobber_f20(void); ++void abi_test_clobber_f21(void); ++void abi_test_clobber_f22(void); ++void abi_test_clobber_f23(void); ++void abi_test_clobber_f24(void); ++void abi_test_clobber_f25(void); ++void abi_test_clobber_f26(void); ++void abi_test_clobber_f27(void); ++void abi_test_clobber_f28(void); ++void abi_test_clobber_f29(void); ++void abi_test_clobber_f30(void); ++void abi_test_clobber_f31(void); ++ ++void abi_test_clobber_v0(void); ++void abi_test_clobber_v1(void); ++void abi_test_clobber_v2(void); ++void abi_test_clobber_v3(void); ++void abi_test_clobber_v4(void); ++void abi_test_clobber_v5(void); ++void abi_test_clobber_v6(void); ++void abi_test_clobber_v7(void); ++void abi_test_clobber_v8(void); ++void abi_test_clobber_v9(void); ++void abi_test_clobber_v10(void); ++void abi_test_clobber_v11(void); ++void abi_test_clobber_v12(void); ++void abi_test_clobber_v13(void); ++void abi_test_clobber_v14(void); ++void abi_test_clobber_v15(void); ++void abi_test_clobber_v16(void); ++void abi_test_clobber_v17(void); ++void abi_test_clobber_v18(void); ++void abi_test_clobber_v19(void); ++void abi_test_clobber_v20(void); ++void abi_test_clobber_v21(void); ++void abi_test_clobber_v22(void); ++void abi_test_clobber_v23(void); ++void abi_test_clobber_v24(void); ++void abi_test_clobber_v25(void); ++void abi_test_clobber_v26(void); ++void abi_test_clobber_v27(void); ++void abi_test_clobber_v28(void); ++void abi_test_clobber_v29(void); ++void abi_test_clobber_v30(void); ++void abi_test_clobber_v31(void); ++ ++void abi_test_clobber_cr0(void); ++void abi_test_clobber_cr1(void); ++void abi_test_clobber_cr2(void); ++void abi_test_clobber_cr3(void); ++void abi_test_clobber_cr4(void); ++void abi_test_clobber_cr5(void); ++void abi_test_clobber_cr6(void); ++void abi_test_clobber_cr7(void); ++ ++void abi_test_clobber_ctr(void); ++void abi_test_clobber_lr(void); ++ ++} // extern "C" ++ ++TEST(ABITest, PPC64LE) { ++ // abi_test_trampoline hides unsaved registers from the caller, so we can ++ // safely call the abi_test_clobber_* functions below. ++ abi_test::internal::CallerState state; ++ RAND_bytes(reinterpret_cast(&state), sizeof(state)); ++ CHECK_ABI_NO_UNWIND(abi_test_trampoline, ++ reinterpret_cast(abi_test_clobber_r14), ++ &state, nullptr, 0, 0 /* no breakpoint */); ++ ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r0); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r2); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r3); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r4); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r5); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r6); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r7); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r8); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r9); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r10); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r11); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_r12); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r14), ++ "r14 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r15), ++ "r15 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r16), ++ "r16 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r17), ++ "r17 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r18), ++ "r18 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r19), ++ "r19 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r20), ++ "r20 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r21), ++ "r21 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r22), ++ "r22 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r23), ++ "r23 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r24), ++ "r24 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r25), ++ "r25 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r26), ++ "r26 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r27), ++ "r27 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r28), ++ "r28 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r29), ++ "r29 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r30), ++ "r30 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_r31), ++ "r31 was not restored after return"); ++ ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f0); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f1); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f2); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f3); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f4); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f5); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f6); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f7); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f8); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f9); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f10); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f11); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f12); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_f13); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f14), ++ "f14 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f15), ++ "f15 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f16), ++ "f16 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f17), ++ "f17 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f18), ++ "f18 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f19), ++ "f19 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f20), ++ "f20 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f21), ++ "f21 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f22), ++ "f22 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f23), ++ "f23 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f24), ++ "f24 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f25), ++ "f25 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f26), ++ "f26 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f27), ++ "f27 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f28), ++ "f28 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f29), ++ "f29 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f30), ++ "f30 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_f31), ++ "f31 was not restored after return"); ++ ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v0); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v1); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v2); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v3); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v4); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v5); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v6); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v7); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v8); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v9); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v10); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v11); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v12); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v13); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v14); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v15); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v16); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v17); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v18); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_v19); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v20), ++ "v20 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v21), ++ "v21 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v22), ++ "v22 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v23), ++ "v23 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v24), ++ "v24 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v25), ++ "v25 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v26), ++ "v26 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v27), ++ "v27 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v28), ++ "v28 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v29), ++ "v29 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v30), ++ "v30 was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_v31), ++ "v31 was not restored after return"); ++ ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_cr0); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_cr1); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_cr2), ++ "cr was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_cr3), ++ "cr was not restored after return"); ++ EXPECT_NONFATAL_FAILURE(CHECK_ABI_NO_UNWIND(abi_test_clobber_cr4), ++ "cr was not restored after return"); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_cr5); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_cr6); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_cr7); ++ ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_ctr); ++ CHECK_ABI_NO_UNWIND(abi_test_clobber_lr); ++} ++#endif // OPENSSL_PPC64LE && SUPPORTS_ABI_TEST +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc +@@ -0,0 +1,38 @@ ++/* Copyright (c) 2016, Google Inc. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ ++ ++#include ++ ++#if defined(OPENSSL_PPC64LE) ++ ++#include ++ ++#include "internal.h" ++ ++ ++#if !defined(PPC_FEATURE2_HAS_VCRYPTO) ++// PPC_FEATURE2_HAS_VCRYPTO was taken from section 4.1.2.3 of the “OpenPOWER ++// ABI for Linux Supplement”. ++#define PPC_FEATURE2_HAS_VCRYPTO 0x02000000 ++#endif ++ ++void OPENSSL_cpuid_setup(void) { ++ OPENSSL_ppc64le_hwcap2 = getauxval(AT_HWCAP2); ++} ++ ++int CRYPTO_is_PPC64LE_vcrypto_capable(void) { ++ return (OPENSSL_ppc64le_hwcap2 & PPC_FEATURE2_HAS_VCRYPTO) != 0; ++} ++ ++#endif // OPENSSL_PPC64LE +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/crypto.cc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc +@@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) { + return OPENSSL_ia32cap_P[idx]; + } + ++#elif defined(OPENSSL_PPC64LE) ++ ++HIDDEN unsigned long OPENSSL_ppc64le_hwcap2 = 0; ++ + #elif (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \ + !defined(OPENSSL_STATIC_ARMCAP) + HIDDEN uint32_t OPENSSL_armcap_P = 0; +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl +@@ -0,0 +1,3809 @@ ++#! /usr/bin/env perl ++# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++# ++# ==================================================================== ++# Written by Andy Polyakov for the OpenSSL ++# project. The module is, however, dual licensed under OpenSSL and ++# CRYPTOGAMS licenses depending on where you obtain it. For further ++# details see http://www.openssl.org/~appro/cryptogams/. ++# ==================================================================== ++# ++# This module implements support for AES instructions as per PowerISA ++# specification version 2.07, first implemented by POWER8 processor. ++# The module is endian-agnostic in sense that it supports both big- ++# and little-endian cases. Data alignment in parallelizable modes is ++# handled with VSX loads and stores, which implies MSR.VSX flag being ++# set. It should also be noted that ISA specification doesn't prohibit ++# alignment exceptions for these instructions on page boundaries. ++# Initially alignment was handled in pure AltiVec/VMX way [when data ++# is aligned programmatically, which in turn guarantees exception- ++# free execution], but it turned to hamper performance when vcipher ++# instructions are interleaved. It's reckoned that eventual ++# misalignment penalties at page boundaries are in average lower ++# than additional overhead in pure AltiVec approach. ++# ++# May 2016 ++# ++# Add XTS subroutine, 9x on little- and 12x improvement on big-endian ++# systems were measured. ++# ++###################################################################### ++# Current large-block performance in cycles per byte processed with ++# 128-bit key (less is better). ++# ++# CBC en-/decrypt CTR XTS ++# POWER8[le] 3.96/0.72 0.74 1.1 ++# POWER8[be] 3.75/0.65 0.66 1.0 ++# POWER9[le] 4.02/0.86 0.84 1.05 ++# POWER9[be] 3.99/0.78 0.79 0.97 ++ ++$flavour = shift; ++$output = shift; ++ ++if ($flavour =~ /64/) { ++ $SIZE_T =8; ++ $LRSAVE =2*$SIZE_T; ++ $STU ="stdu"; ++ $POP ="ld"; ++ $PUSH ="std"; ++ $UCMP ="cmpld"; ++ $SHL ="sldi"; ++} elsif ($flavour =~ /32/) { ++ $SIZE_T =4; ++ $LRSAVE =$SIZE_T; ++ $STU ="stwu"; ++ $POP ="lwz"; ++ $PUSH ="stw"; ++ $UCMP ="cmplw"; ++ $SHL ="slwi"; ++} else { die "nonsense $flavour"; } ++ ++$LITTLE_ENDIAN = ($flavour=~/le$/) ? $SIZE_T : 0; ++ ++$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ++( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or ++( $xlate="${dir}../../../perlasm/ppc-xlate.pl" and -f $xlate) or ++die "can't locate ppc-xlate.pl"; ++ ++open OUT,"| $^X \"$xlate\" $flavour \"$output\"" || die "can't call $xlate: $!"; ++*STDOUT=*OUT; ++ ++$FRAME=8*$SIZE_T; ++$prefix="aes_hw"; ++ ++$sp="r1"; ++$vrsave="r12"; ++ ++######################################################################### ++{{{ # Key setup procedures # ++my ($inp,$bits,$out,$ptr,$cnt,$rounds)=map("r$_",(3..8)); ++my ($zero,$in0,$in1,$key,$rcon,$mask,$tmp)=map("v$_",(0..6)); ++my ($stage,$outperm,$outmask,$outhead,$outtail)=map("v$_",(7..11)); ++ ++$code.=<<___; ++.machine "any" ++ ++.text ++ ++.align 7 ++Lrcon: ++.long 0x01000000, 0x01000000, 0x01000000, 0x01000000 ?rev ++.long 0x1b000000, 0x1b000000, 0x1b000000, 0x1b000000 ?rev ++.long 0x0d0e0f0c, 0x0d0e0f0c, 0x0d0e0f0c, 0x0d0e0f0c ?rev ++.long 0,0,0,0 ?asis ++Lconsts: ++ mflr r0 ++ bcl 20,31,\$+4 ++ mflr $ptr #vvvvv "distance between . and rcon ++ addi $ptr,$ptr,-0x48 ++ mtlr r0 ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,0,0 ++.asciz "AES for PowerISA 2.07, CRYPTOGAMS by " ++ ++.globl .${prefix}_set_encrypt_key ++.align 5 ++.${prefix}_set_encrypt_key: ++Lset_encrypt_key: ++ mflr r11 ++ $PUSH r11,$LRSAVE($sp) ++ ++ li $ptr,-1 ++ ${UCMP}i $inp,0 ++ beq- Lenc_key_abort # if ($inp==0) return -1; ++ ${UCMP}i $out,0 ++ beq- Lenc_key_abort # if ($out==0) return -1; ++ li $ptr,-2 ++ cmpwi $bits,128 ++ blt- Lenc_key_abort ++ cmpwi $bits,256 ++ bgt- Lenc_key_abort ++ andi. r0,$bits,0x3f ++ bne- Lenc_key_abort ++ ++ lis r0,0xfff0 ++ mfspr $vrsave,256 ++ mtspr 256,r0 ++ ++ bl Lconsts ++ mtlr r11 ++ ++ neg r9,$inp ++ lvx $in0,0,$inp ++ addi $inp,$inp,15 # 15 is not typo ++ lvsr $key,0,r9 # borrow $key ++ li r8,0x20 ++ cmpwi $bits,192 ++ lvx $in1,0,$inp ++ le?vspltisb $mask,0x0f # borrow $mask ++ lvx $rcon,0,$ptr ++ le?vxor $key,$key,$mask # adjust for byte swap ++ lvx $mask,r8,$ptr ++ addi $ptr,$ptr,0x10 ++ vperm $in0,$in0,$in1,$key # align [and byte swap in LE] ++ li $cnt,8 ++ vxor $zero,$zero,$zero ++ mtctr $cnt ++ ++ ?lvsr $outperm,0,$out ++ vspltisb $outmask,-1 ++ lvx $outhead,0,$out ++ ?vperm $outmask,$zero,$outmask,$outperm ++ ++ blt Loop128 ++ addi $inp,$inp,8 ++ beq L192 ++ addi $inp,$inp,8 ++ b L256 ++ ++.align 4 ++Loop128: ++ vperm $key,$in0,$in0,$mask # rotate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vcipherlast $key,$key,$rcon ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vadduwm $rcon,$rcon,$rcon ++ vxor $in0,$in0,$key ++ bdnz Loop128 ++ ++ lvx $rcon,0,$ptr # last two round keys ++ ++ vperm $key,$in0,$in0,$mask # rotate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vcipherlast $key,$key,$rcon ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vadduwm $rcon,$rcon,$rcon ++ vxor $in0,$in0,$key ++ ++ vperm $key,$in0,$in0,$mask # rotate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vcipherlast $key,$key,$rcon ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vxor $in0,$in0,$key ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ stvx $stage,0,$out ++ ++ addi $inp,$out,15 # 15 is not typo ++ addi $out,$out,0x50 ++ ++ li $rounds,10 ++ b Ldone ++ ++.align 4 ++L192: ++ lvx $tmp,0,$inp ++ li $cnt,4 ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ vperm $in1,$in1,$tmp,$key # align [and byte swap in LE] ++ vspltisb $key,8 # borrow $key ++ mtctr $cnt ++ vsububm $mask,$mask,$key # adjust the mask ++ ++Loop192: ++ vperm $key,$in1,$in1,$mask # roate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vcipherlast $key,$key,$rcon ++ ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ ++ vsldoi $stage,$zero,$in1,8 ++ vspltw $tmp,$in0,3 ++ vxor $tmp,$tmp,$in1 ++ vsldoi $in1,$zero,$in1,12 # >>32 ++ vadduwm $rcon,$rcon,$rcon ++ vxor $in1,$in1,$tmp ++ vxor $in0,$in0,$key ++ vxor $in1,$in1,$key ++ vsldoi $stage,$stage,$in0,8 ++ ++ vperm $key,$in1,$in1,$mask # rotate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vperm $outtail,$stage,$stage,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vcipherlast $key,$key,$rcon ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vsldoi $stage,$in0,$in1,8 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vperm $outtail,$stage,$stage,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vspltw $tmp,$in0,3 ++ vxor $tmp,$tmp,$in1 ++ vsldoi $in1,$zero,$in1,12 # >>32 ++ vadduwm $rcon,$rcon,$rcon ++ vxor $in1,$in1,$tmp ++ vxor $in0,$in0,$key ++ vxor $in1,$in1,$key ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ stvx $stage,0,$out ++ addi $inp,$out,15 # 15 is not typo ++ addi $out,$out,16 ++ bdnz Loop192 ++ ++ li $rounds,12 ++ addi $out,$out,0x20 ++ b Ldone ++ ++.align 4 ++L256: ++ lvx $tmp,0,$inp ++ li $cnt,7 ++ li $rounds,14 ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ vperm $in1,$in1,$tmp,$key # align [and byte swap in LE] ++ mtctr $cnt ++ ++Loop256: ++ vperm $key,$in1,$in1,$mask # rotate-n-splat ++ vsldoi $tmp,$zero,$in0,12 # >>32 ++ vperm $outtail,$in1,$in1,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ vcipherlast $key,$key,$rcon ++ stvx $stage,0,$out ++ addi $out,$out,16 ++ ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in0,$in0,$tmp ++ vadduwm $rcon,$rcon,$rcon ++ vxor $in0,$in0,$key ++ vperm $outtail,$in0,$in0,$outperm # rotate ++ vsel $stage,$outhead,$outtail,$outmask ++ vmr $outhead,$outtail ++ stvx $stage,0,$out ++ addi $inp,$out,15 # 15 is not typo ++ addi $out,$out,16 ++ bdz Ldone ++ ++ vspltw $key,$in0,3 # just splat ++ vsldoi $tmp,$zero,$in1,12 # >>32 ++ vsbox $key,$key ++ ++ vxor $in1,$in1,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in1,$in1,$tmp ++ vsldoi $tmp,$zero,$tmp,12 # >>32 ++ vxor $in1,$in1,$tmp ++ ++ vxor $in1,$in1,$key ++ b Loop256 ++ ++.align 4 ++Ldone: ++ lvx $in1,0,$inp # redundant in aligned case ++ vsel $in1,$outhead,$in1,$outmask ++ stvx $in1,0,$inp ++ li $ptr,0 ++ mtspr 256,$vrsave ++ stw $rounds,0($out) ++ ++Lenc_key_abort: ++ mr r3,$ptr ++ blr ++ .long 0 ++ .byte 0,12,0x14,1,0,0,3,0 ++ .long 0 ++.size .${prefix}_set_encrypt_key,.-.${prefix}_set_encrypt_key ++ ++.globl .${prefix}_set_decrypt_key ++.align 5 ++.${prefix}_set_decrypt_key: ++ $STU $sp,-$FRAME($sp) ++ mflr r10 ++ $PUSH r10,`$FRAME+$LRSAVE`($sp) ++ bl Lset_encrypt_key ++ mtlr r10 ++ ++ cmpwi r3,0 ++ bne- Ldec_key_abort ++ ++ slwi $cnt,$rounds,4 ++ subi $inp,$out,240 # first round key ++ srwi $rounds,$rounds,1 ++ add $out,$inp,$cnt # last round key ++ mtctr $rounds ++ ++Ldeckey: ++ lwz r0, 0($inp) ++ lwz r6, 4($inp) ++ lwz r7, 8($inp) ++ lwz r8, 12($inp) ++ addi $inp,$inp,16 ++ lwz r9, 0($out) ++ lwz r10,4($out) ++ lwz r11,8($out) ++ lwz r12,12($out) ++ stw r0, 0($out) ++ stw r6, 4($out) ++ stw r7, 8($out) ++ stw r8, 12($out) ++ subi $out,$out,16 ++ stw r9, -16($inp) ++ stw r10,-12($inp) ++ stw r11,-8($inp) ++ stw r12,-4($inp) ++ bdnz Ldeckey ++ ++ xor r3,r3,r3 # return value ++Ldec_key_abort: ++ addi $sp,$sp,$FRAME ++ blr ++ .long 0 ++ .byte 0,12,4,1,0x80,0,3,0 ++ .long 0 ++.size .${prefix}_set_decrypt_key,.-.${prefix}_set_decrypt_key ++___ ++}}} ++######################################################################### ++{{{ # Single block en- and decrypt procedures # ++sub gen_block () { ++my $dir = shift; ++my $n = $dir eq "de" ? "n" : ""; ++my ($inp,$out,$key,$rounds,$idx)=map("r$_",(3..7)); ++ ++$code.=<<___; ++.globl .${prefix}_${dir}crypt ++.align 5 ++.${prefix}_${dir}crypt: ++ lwz $rounds,240($key) ++ lis r0,0xfc00 ++ mfspr $vrsave,256 ++ li $idx,15 # 15 is not typo ++ mtspr 256,r0 ++ ++ lvx v0,0,$inp ++ neg r11,$out ++ lvx v1,$idx,$inp ++ lvsl v2,0,$inp # inpperm ++ le?vspltisb v4,0x0f ++ ?lvsl v3,0,r11 # outperm ++ le?vxor v2,v2,v4 ++ li $idx,16 ++ vperm v0,v0,v1,v2 # align [and byte swap in LE] ++ lvx v1,0,$key ++ ?lvsl v5,0,$key # keyperm ++ srwi $rounds,$rounds,1 ++ lvx v2,$idx,$key ++ addi $idx,$idx,16 ++ subi $rounds,$rounds,1 ++ ?vperm v1,v1,v2,v5 # align round key ++ ++ vxor v0,v0,v1 ++ lvx v1,$idx,$key ++ addi $idx,$idx,16 ++ mtctr $rounds ++ ++Loop_${dir}c: ++ ?vperm v2,v2,v1,v5 ++ v${n}cipher v0,v0,v2 ++ lvx v2,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm v1,v1,v2,v5 ++ v${n}cipher v0,v0,v1 ++ lvx v1,$idx,$key ++ addi $idx,$idx,16 ++ bdnz Loop_${dir}c ++ ++ ?vperm v2,v2,v1,v5 ++ v${n}cipher v0,v0,v2 ++ lvx v2,$idx,$key ++ ?vperm v1,v1,v2,v5 ++ v${n}cipherlast v0,v0,v1 ++ ++ vspltisb v2,-1 ++ vxor v1,v1,v1 ++ li $idx,15 # 15 is not typo ++ ?vperm v2,v1,v2,v3 # outmask ++ le?vxor v3,v3,v4 ++ lvx v1,0,$out # outhead ++ vperm v0,v0,v0,v3 # rotate [and byte swap in LE] ++ vsel v1,v1,v0,v2 ++ lvx v4,$idx,$out ++ stvx v1,0,$out ++ vsel v0,v0,v4,v2 ++ stvx v0,$idx,$out ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,3,0 ++ .long 0 ++.size .${prefix}_${dir}crypt,.-.${prefix}_${dir}crypt ++___ ++} ++&gen_block("en"); ++&gen_block("de"); ++}}} ++######################################################################### ++{{{ # CBC en- and decrypt procedures # ++my ($inp,$out,$len,$key,$ivp,$enc,$rounds,$idx)=map("r$_",(3..10)); ++my ($rndkey0,$rndkey1,$inout,$tmp)= map("v$_",(0..3)); ++my ($ivec,$inptail,$inpperm,$outhead,$outperm,$outmask,$keyperm)= ++ map("v$_",(4..10)); ++$code.=<<___; ++.globl .${prefix}_cbc_encrypt ++.align 5 ++.${prefix}_cbc_encrypt: ++ ${UCMP}i $len,16 ++ bltlr- ++ ++ cmpwi $enc,0 # test direction ++ lis r0,0xffe0 ++ mfspr $vrsave,256 ++ mtspr 256,r0 ++ ++ li $idx,15 ++ vxor $rndkey0,$rndkey0,$rndkey0 ++ le?vspltisb $tmp,0x0f ++ ++ lvx $ivec,0,$ivp # load [unaligned] iv ++ lvsl $inpperm,0,$ivp ++ lvx $inptail,$idx,$ivp ++ le?vxor $inpperm,$inpperm,$tmp ++ vperm $ivec,$ivec,$inptail,$inpperm ++ ++ neg r11,$inp ++ ?lvsl $keyperm,0,$key # prepare for unaligned key ++ lwz $rounds,240($key) ++ ++ lvsr $inpperm,0,r11 # prepare for unaligned load ++ lvx $inptail,0,$inp ++ addi $inp,$inp,15 # 15 is not typo ++ le?vxor $inpperm,$inpperm,$tmp ++ ++ ?lvsr $outperm,0,$out # prepare for unaligned store ++ vspltisb $outmask,-1 ++ lvx $outhead,0,$out ++ ?vperm $outmask,$rndkey0,$outmask,$outperm ++ le?vxor $outperm,$outperm,$tmp ++ ++ srwi $rounds,$rounds,1 ++ li $idx,16 ++ subi $rounds,$rounds,1 ++ beq Lcbc_dec ++ ++Lcbc_enc: ++ vmr $inout,$inptail ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ mtctr $rounds ++ subi $len,$len,16 # len-=16 ++ ++ lvx $rndkey0,0,$key ++ vperm $inout,$inout,$inptail,$inpperm ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ vxor $inout,$inout,$ivec ++ ++Loop_cbc_enc: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ bdnz Loop_cbc_enc ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ li $idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipherlast $ivec,$inout,$rndkey0 ++ ${UCMP}i $len,16 ++ ++ vperm $tmp,$ivec,$ivec,$outperm ++ vsel $inout,$outhead,$tmp,$outmask ++ vmr $outhead,$tmp ++ stvx $inout,0,$out ++ addi $out,$out,16 ++ bge Lcbc_enc ++ ++ b Lcbc_done ++ ++.align 4 ++Lcbc_dec: ++ ${UCMP}i $len,128 ++ bge _aesp8_cbc_decrypt8x ++ vmr $tmp,$inptail ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ mtctr $rounds ++ subi $len,$len,16 # len-=16 ++ ++ lvx $rndkey0,0,$key ++ vperm $tmp,$tmp,$inptail,$inpperm ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$tmp,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ ++Loop_cbc_dec: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vncipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ bdnz Loop_cbc_dec ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ li $idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vncipherlast $inout,$inout,$rndkey0 ++ ${UCMP}i $len,16 ++ ++ vxor $inout,$inout,$ivec ++ vmr $ivec,$tmp ++ vperm $tmp,$inout,$inout,$outperm ++ vsel $inout,$outhead,$tmp,$outmask ++ vmr $outhead,$tmp ++ stvx $inout,0,$out ++ addi $out,$out,16 ++ bge Lcbc_dec ++ ++Lcbc_done: ++ addi $out,$out,-1 ++ lvx $inout,0,$out # redundant in aligned case ++ vsel $inout,$outhead,$inout,$outmask ++ stvx $inout,0,$out ++ ++ neg $enc,$ivp # write [unaligned] iv ++ li $idx,15 # 15 is not typo ++ vxor $rndkey0,$rndkey0,$rndkey0 ++ vspltisb $outmask,-1 ++ le?vspltisb $tmp,0x0f ++ ?lvsl $outperm,0,$enc ++ ?vperm $outmask,$rndkey0,$outmask,$outperm ++ le?vxor $outperm,$outperm,$tmp ++ lvx $outhead,0,$ivp ++ vperm $ivec,$ivec,$ivec,$outperm ++ vsel $inout,$outhead,$ivec,$outmask ++ lvx $inptail,$idx,$ivp ++ stvx $inout,0,$ivp ++ vsel $inout,$ivec,$inptail,$outmask ++ stvx $inout,$idx,$ivp ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,6,0 ++ .long 0 ++___ ++######################################################################### ++{{ # Optimized CBC decrypt procedure # ++my $key_="r11"; ++my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,8,26..31)); ++ $x00=0 if ($flavour =~ /osx/); ++my ($in0, $in1, $in2, $in3, $in4, $in5, $in6, $in7 )=map("v$_",(0..3,10..13)); ++my ($out0,$out1,$out2,$out3,$out4,$out5,$out6,$out7)=map("v$_",(14..21)); ++my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys ++ # v26-v31 last 6 round keys ++my ($tmp,$keyperm)=($in3,$in4); # aliases with "caller", redundant assignment ++ ++$code.=<<___; ++.align 5 ++_aesp8_cbc_decrypt8x: ++ $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) ++ li r10,`$FRAME+8*16+15` ++ li r11,`$FRAME+8*16+31` ++ stvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ stvx v21,r11,$sp ++ addi r11,r11,32 ++ stvx v22,r10,$sp ++ addi r10,r10,32 ++ stvx v23,r11,$sp ++ addi r11,r11,32 ++ stvx v24,r10,$sp ++ addi r10,r10,32 ++ stvx v25,r11,$sp ++ addi r11,r11,32 ++ stvx v26,r10,$sp ++ addi r10,r10,32 ++ stvx v27,r11,$sp ++ addi r11,r11,32 ++ stvx v28,r10,$sp ++ addi r10,r10,32 ++ stvx v29,r11,$sp ++ addi r11,r11,32 ++ stvx v30,r10,$sp ++ stvx v31,r11,$sp ++ li r0,-1 ++ stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave ++ li $x10,0x10 ++ $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ li $x20,0x20 ++ $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ li $x30,0x30 ++ $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ li $x40,0x40 ++ $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ li $x50,0x50 ++ $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ li $x60,0x60 ++ $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ li $x70,0x70 ++ mtspr 256,r0 ++ ++ subi $rounds,$rounds,3 # -4 in total ++ subi $len,$len,128 # bias ++ ++ lvx $rndkey0,$x00,$key # load key schedule ++ lvx v30,$x10,$key ++ addi $key,$key,0x20 ++ lvx v31,$x00,$key ++ ?vperm $rndkey0,$rndkey0,v30,$keyperm ++ addi $key_,$sp,`$FRAME+15` ++ mtctr $rounds ++ ++Load_cbc_dec_key: ++ ?vperm v24,v30,v31,$keyperm ++ lvx v30,$x10,$key ++ addi $key,$key,0x20 ++ stvx v24,$x00,$key_ # off-load round[1] ++ ?vperm v25,v31,v30,$keyperm ++ lvx v31,$x00,$key ++ stvx v25,$x10,$key_ # off-load round[2] ++ addi $key_,$key_,0x20 ++ bdnz Load_cbc_dec_key ++ ++ lvx v26,$x10,$key ++ ?vperm v24,v30,v31,$keyperm ++ lvx v27,$x20,$key ++ stvx v24,$x00,$key_ # off-load round[3] ++ ?vperm v25,v31,v26,$keyperm ++ lvx v28,$x30,$key ++ stvx v25,$x10,$key_ # off-load round[4] ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ ?vperm v26,v26,v27,$keyperm ++ lvx v29,$x40,$key ++ ?vperm v27,v27,v28,$keyperm ++ lvx v30,$x50,$key ++ ?vperm v28,v28,v29,$keyperm ++ lvx v31,$x60,$key ++ ?vperm v29,v29,v30,$keyperm ++ lvx $out0,$x70,$key # borrow $out0 ++ ?vperm v30,v30,v31,$keyperm ++ lvx v24,$x00,$key_ # pre-load round[1] ++ ?vperm v31,v31,$out0,$keyperm ++ lvx v25,$x10,$key_ # pre-load round[2] ++ ++ #lvx $inptail,0,$inp # "caller" already did this ++ #addi $inp,$inp,15 # 15 is not typo ++ subi $inp,$inp,15 # undo "caller" ++ ++ le?li $idx,8 ++ lvx_u $in0,$x00,$inp # load first 8 "words" ++ le?lvsl $inpperm,0,$idx ++ le?vspltisb $tmp,0x0f ++ lvx_u $in1,$x10,$inp ++ le?vxor $inpperm,$inpperm,$tmp # transform for lvx_u/stvx_u ++ lvx_u $in2,$x20,$inp ++ le?vperm $in0,$in0,$in0,$inpperm ++ lvx_u $in3,$x30,$inp ++ le?vperm $in1,$in1,$in1,$inpperm ++ lvx_u $in4,$x40,$inp ++ le?vperm $in2,$in2,$in2,$inpperm ++ vxor $out0,$in0,$rndkey0 ++ lvx_u $in5,$x50,$inp ++ le?vperm $in3,$in3,$in3,$inpperm ++ vxor $out1,$in1,$rndkey0 ++ lvx_u $in6,$x60,$inp ++ le?vperm $in4,$in4,$in4,$inpperm ++ vxor $out2,$in2,$rndkey0 ++ lvx_u $in7,$x70,$inp ++ addi $inp,$inp,0x80 ++ le?vperm $in5,$in5,$in5,$inpperm ++ vxor $out3,$in3,$rndkey0 ++ le?vperm $in6,$in6,$in6,$inpperm ++ vxor $out4,$in4,$rndkey0 ++ le?vperm $in7,$in7,$in7,$inpperm ++ vxor $out5,$in5,$rndkey0 ++ vxor $out6,$in6,$rndkey0 ++ vxor $out7,$in7,$rndkey0 ++ ++ mtctr $rounds ++ b Loop_cbc_dec8x ++.align 5 ++Loop_cbc_dec8x: ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ vncipher $out6,$out6,v24 ++ vncipher $out7,$out7,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ vncipher $out6,$out6,v25 ++ vncipher $out7,$out7,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_cbc_dec8x ++ ++ subic $len,$len,128 # $len-=128 ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ vncipher $out6,$out6,v24 ++ vncipher $out7,$out7,v24 ++ ++ subfe. r0,r0,r0 # borrow?-1:0 ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ vncipher $out6,$out6,v25 ++ vncipher $out7,$out7,v25 ++ ++ and r0,r0,$len ++ vncipher $out0,$out0,v26 ++ vncipher $out1,$out1,v26 ++ vncipher $out2,$out2,v26 ++ vncipher $out3,$out3,v26 ++ vncipher $out4,$out4,v26 ++ vncipher $out5,$out5,v26 ++ vncipher $out6,$out6,v26 ++ vncipher $out7,$out7,v26 ++ ++ add $inp,$inp,r0 # $inp is adjusted in such ++ # way that at exit from the ++ # loop inX-in7 are loaded ++ # with last "words" ++ vncipher $out0,$out0,v27 ++ vncipher $out1,$out1,v27 ++ vncipher $out2,$out2,v27 ++ vncipher $out3,$out3,v27 ++ vncipher $out4,$out4,v27 ++ vncipher $out5,$out5,v27 ++ vncipher $out6,$out6,v27 ++ vncipher $out7,$out7,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vncipher $out0,$out0,v28 ++ vncipher $out1,$out1,v28 ++ vncipher $out2,$out2,v28 ++ vncipher $out3,$out3,v28 ++ vncipher $out4,$out4,v28 ++ vncipher $out5,$out5,v28 ++ vncipher $out6,$out6,v28 ++ vncipher $out7,$out7,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ ++ vncipher $out0,$out0,v29 ++ vncipher $out1,$out1,v29 ++ vncipher $out2,$out2,v29 ++ vncipher $out3,$out3,v29 ++ vncipher $out4,$out4,v29 ++ vncipher $out5,$out5,v29 ++ vncipher $out6,$out6,v29 ++ vncipher $out7,$out7,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ ++ vncipher $out0,$out0,v30 ++ vxor $ivec,$ivec,v31 # xor with last round key ++ vncipher $out1,$out1,v30 ++ vxor $in0,$in0,v31 ++ vncipher $out2,$out2,v30 ++ vxor $in1,$in1,v31 ++ vncipher $out3,$out3,v30 ++ vxor $in2,$in2,v31 ++ vncipher $out4,$out4,v30 ++ vxor $in3,$in3,v31 ++ vncipher $out5,$out5,v30 ++ vxor $in4,$in4,v31 ++ vncipher $out6,$out6,v30 ++ vxor $in5,$in5,v31 ++ vncipher $out7,$out7,v30 ++ vxor $in6,$in6,v31 ++ ++ vncipherlast $out0,$out0,$ivec ++ vncipherlast $out1,$out1,$in0 ++ lvx_u $in0,$x00,$inp # load next input block ++ vncipherlast $out2,$out2,$in1 ++ lvx_u $in1,$x10,$inp ++ vncipherlast $out3,$out3,$in2 ++ le?vperm $in0,$in0,$in0,$inpperm ++ lvx_u $in2,$x20,$inp ++ vncipherlast $out4,$out4,$in3 ++ le?vperm $in1,$in1,$in1,$inpperm ++ lvx_u $in3,$x30,$inp ++ vncipherlast $out5,$out5,$in4 ++ le?vperm $in2,$in2,$in2,$inpperm ++ lvx_u $in4,$x40,$inp ++ vncipherlast $out6,$out6,$in5 ++ le?vperm $in3,$in3,$in3,$inpperm ++ lvx_u $in5,$x50,$inp ++ vncipherlast $out7,$out7,$in6 ++ le?vperm $in4,$in4,$in4,$inpperm ++ lvx_u $in6,$x60,$inp ++ vmr $ivec,$in7 ++ le?vperm $in5,$in5,$in5,$inpperm ++ lvx_u $in7,$x70,$inp ++ addi $inp,$inp,0x80 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $in6,$in6,$in6,$inpperm ++ vxor $out0,$in0,$rndkey0 ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $in7,$in7,$in7,$inpperm ++ vxor $out1,$in1,$rndkey0 ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ vxor $out2,$in2,$rndkey0 ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x30,$out ++ vxor $out3,$in3,$rndkey0 ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x40,$out ++ vxor $out4,$in4,$rndkey0 ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x50,$out ++ vxor $out5,$in5,$rndkey0 ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x60,$out ++ vxor $out6,$in6,$rndkey0 ++ stvx_u $out7,$x70,$out ++ addi $out,$out,0x80 ++ vxor $out7,$in7,$rndkey0 ++ ++ mtctr $rounds ++ beq Loop_cbc_dec8x # did $len-=128 borrow? ++ ++ addic. $len,$len,128 ++ beq Lcbc_dec8x_done ++ nop ++ nop ++ ++Loop_cbc_dec8x_tail: # up to 7 "words" tail... ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ vncipher $out6,$out6,v24 ++ vncipher $out7,$out7,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ vncipher $out6,$out6,v25 ++ vncipher $out7,$out7,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_cbc_dec8x_tail ++ ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ vncipher $out6,$out6,v24 ++ vncipher $out7,$out7,v24 ++ ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ vncipher $out6,$out6,v25 ++ vncipher $out7,$out7,v25 ++ ++ vncipher $out1,$out1,v26 ++ vncipher $out2,$out2,v26 ++ vncipher $out3,$out3,v26 ++ vncipher $out4,$out4,v26 ++ vncipher $out5,$out5,v26 ++ vncipher $out6,$out6,v26 ++ vncipher $out7,$out7,v26 ++ ++ vncipher $out1,$out1,v27 ++ vncipher $out2,$out2,v27 ++ vncipher $out3,$out3,v27 ++ vncipher $out4,$out4,v27 ++ vncipher $out5,$out5,v27 ++ vncipher $out6,$out6,v27 ++ vncipher $out7,$out7,v27 ++ ++ vncipher $out1,$out1,v28 ++ vncipher $out2,$out2,v28 ++ vncipher $out3,$out3,v28 ++ vncipher $out4,$out4,v28 ++ vncipher $out5,$out5,v28 ++ vncipher $out6,$out6,v28 ++ vncipher $out7,$out7,v28 ++ ++ vncipher $out1,$out1,v29 ++ vncipher $out2,$out2,v29 ++ vncipher $out3,$out3,v29 ++ vncipher $out4,$out4,v29 ++ vncipher $out5,$out5,v29 ++ vncipher $out6,$out6,v29 ++ vncipher $out7,$out7,v29 ++ ++ vncipher $out1,$out1,v30 ++ vxor $ivec,$ivec,v31 # last round key ++ vncipher $out2,$out2,v30 ++ vxor $in1,$in1,v31 ++ vncipher $out3,$out3,v30 ++ vxor $in2,$in2,v31 ++ vncipher $out4,$out4,v30 ++ vxor $in3,$in3,v31 ++ vncipher $out5,$out5,v30 ++ vxor $in4,$in4,v31 ++ vncipher $out6,$out6,v30 ++ vxor $in5,$in5,v31 ++ vncipher $out7,$out7,v30 ++ vxor $in6,$in6,v31 ++ ++ cmplwi $len,32 # switch($len) ++ blt Lcbc_dec8x_one ++ nop ++ beq Lcbc_dec8x_two ++ cmplwi $len,64 ++ blt Lcbc_dec8x_three ++ nop ++ beq Lcbc_dec8x_four ++ cmplwi $len,96 ++ blt Lcbc_dec8x_five ++ nop ++ beq Lcbc_dec8x_six ++ ++Lcbc_dec8x_seven: ++ vncipherlast $out1,$out1,$ivec ++ vncipherlast $out2,$out2,$in1 ++ vncipherlast $out3,$out3,$in2 ++ vncipherlast $out4,$out4,$in3 ++ vncipherlast $out5,$out5,$in4 ++ vncipherlast $out6,$out6,$in5 ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out1,$out1,$out1,$inpperm ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x00,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x10,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x20,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x30,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x40,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x50,$out ++ stvx_u $out7,$x60,$out ++ addi $out,$out,0x70 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_six: ++ vncipherlast $out2,$out2,$ivec ++ vncipherlast $out3,$out3,$in2 ++ vncipherlast $out4,$out4,$in3 ++ vncipherlast $out5,$out5,$in4 ++ vncipherlast $out6,$out6,$in5 ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out2,$out2,$out2,$inpperm ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x00,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x10,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x20,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x30,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x40,$out ++ stvx_u $out7,$x50,$out ++ addi $out,$out,0x60 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_five: ++ vncipherlast $out3,$out3,$ivec ++ vncipherlast $out4,$out4,$in3 ++ vncipherlast $out5,$out5,$in4 ++ vncipherlast $out6,$out6,$in5 ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out3,$out3,$out3,$inpperm ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x00,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x10,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x20,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x30,$out ++ stvx_u $out7,$x40,$out ++ addi $out,$out,0x50 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_four: ++ vncipherlast $out4,$out4,$ivec ++ vncipherlast $out5,$out5,$in4 ++ vncipherlast $out6,$out6,$in5 ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out4,$out4,$out4,$inpperm ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x00,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x10,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x20,$out ++ stvx_u $out7,$x30,$out ++ addi $out,$out,0x40 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_three: ++ vncipherlast $out5,$out5,$ivec ++ vncipherlast $out6,$out6,$in5 ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out5,$out5,$out5,$inpperm ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x00,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x10,$out ++ stvx_u $out7,$x20,$out ++ addi $out,$out,0x30 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_two: ++ vncipherlast $out6,$out6,$ivec ++ vncipherlast $out7,$out7,$in6 ++ vmr $ivec,$in7 ++ ++ le?vperm $out6,$out6,$out6,$inpperm ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x00,$out ++ stvx_u $out7,$x10,$out ++ addi $out,$out,0x20 ++ b Lcbc_dec8x_done ++ ++.align 5 ++Lcbc_dec8x_one: ++ vncipherlast $out7,$out7,$ivec ++ vmr $ivec,$in7 ++ ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out7,0,$out ++ addi $out,$out,0x10 ++ ++Lcbc_dec8x_done: ++ le?vperm $ivec,$ivec,$ivec,$inpperm ++ stvx_u $ivec,0,$ivp # write [unaligned] iv ++ ++ li r10,`$FRAME+15` ++ li r11,`$FRAME+31` ++ stvx $inpperm,r10,$sp # wipe copies of round keys ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ ++ mtspr 256,$vrsave ++ lvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ lvx v21,r11,$sp ++ addi r11,r11,32 ++ lvx v22,r10,$sp ++ addi r10,r10,32 ++ lvx v23,r11,$sp ++ addi r11,r11,32 ++ lvx v24,r10,$sp ++ addi r10,r10,32 ++ lvx v25,r11,$sp ++ addi r11,r11,32 ++ lvx v26,r10,$sp ++ addi r10,r10,32 ++ lvx v27,r11,$sp ++ addi r11,r11,32 ++ lvx v28,r10,$sp ++ addi r10,r10,32 ++ lvx v29,r11,$sp ++ addi r11,r11,32 ++ lvx v30,r10,$sp ++ lvx v31,r11,$sp ++ $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` ++ blr ++ .long 0 ++ .byte 0,12,0x04,0,0x80,6,6,0 ++ .long 0 ++.size .${prefix}_cbc_encrypt,.-.${prefix}_cbc_encrypt ++___ ++}} }}} ++ ++######################################################################### ++{{{ # CTR procedure[s] # ++my ($inp,$out,$len,$key,$ivp,$x10,$rounds,$idx)=map("r$_",(3..10)); ++my ($rndkey0,$rndkey1,$inout,$tmp)= map("v$_",(0..3)); ++my ($ivec,$inptail,$inpperm,$outhead,$outperm,$outmask,$keyperm,$one)= ++ map("v$_",(4..11)); ++my $dat=$tmp; ++ ++$code.=<<___; ++.globl .${prefix}_ctr32_encrypt_blocks ++.align 5 ++.${prefix}_ctr32_encrypt_blocks: ++ ${UCMP}i $len,1 ++ bltlr- ++ ++ lis r0,0xfff0 ++ mfspr $vrsave,256 ++ mtspr 256,r0 ++ ++ li $idx,15 ++ vxor $rndkey0,$rndkey0,$rndkey0 ++ le?vspltisb $tmp,0x0f ++ ++ lvx $ivec,0,$ivp # load [unaligned] iv ++ lvsl $inpperm,0,$ivp ++ lvx $inptail,$idx,$ivp ++ vspltisb $one,1 ++ le?vxor $inpperm,$inpperm,$tmp ++ vperm $ivec,$ivec,$inptail,$inpperm ++ vsldoi $one,$rndkey0,$one,1 ++ ++ neg r11,$inp ++ ?lvsl $keyperm,0,$key # prepare for unaligned key ++ lwz $rounds,240($key) ++ ++ lvsr $inpperm,0,r11 # prepare for unaligned load ++ lvx $inptail,0,$inp ++ addi $inp,$inp,15 # 15 is not typo ++ le?vxor $inpperm,$inpperm,$tmp ++ ++ srwi $rounds,$rounds,1 ++ li $idx,16 ++ subi $rounds,$rounds,1 ++ ++ ${UCMP}i $len,8 ++ bge _aesp8_ctr32_encrypt8x ++ ++ ?lvsr $outperm,0,$out # prepare for unaligned store ++ vspltisb $outmask,-1 ++ lvx $outhead,0,$out ++ ?vperm $outmask,$rndkey0,$outmask,$outperm ++ le?vxor $outperm,$outperm,$tmp ++ ++ lvx $rndkey0,0,$key ++ mtctr $rounds ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$ivec,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ b Loop_ctr32_enc ++ ++.align 5 ++Loop_ctr32_enc: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ bdnz Loop_ctr32_enc ++ ++ vadduwm $ivec,$ivec,$one ++ vmr $dat,$inptail ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ subic. $len,$len,1 # blocks-- ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key ++ vperm $dat,$dat,$inptail,$inpperm ++ li $idx,16 ++ ?vperm $rndkey1,$rndkey0,$rndkey1,$keyperm ++ lvx $rndkey0,0,$key ++ vxor $dat,$dat,$rndkey1 # last round key ++ vcipherlast $inout,$inout,$dat ++ ++ lvx $rndkey1,$idx,$key ++ addi $idx,$idx,16 ++ vperm $inout,$inout,$inout,$outperm ++ vsel $dat,$outhead,$inout,$outmask ++ mtctr $rounds ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vmr $outhead,$inout ++ vxor $inout,$ivec,$rndkey0 ++ lvx $rndkey0,$idx,$key ++ addi $idx,$idx,16 ++ stvx $dat,0,$out ++ addi $out,$out,16 ++ bne Loop_ctr32_enc ++ ++ addi $out,$out,-1 ++ lvx $inout,0,$out # redundant in aligned case ++ vsel $inout,$outhead,$inout,$outmask ++ stvx $inout,0,$out ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,6,0 ++ .long 0 ++___ ++######################################################################### ++{{ # Optimized CTR procedure # ++my $key_="r11"; ++my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,8,26..31)); ++ $x00=0 if ($flavour =~ /osx/); ++my ($in0, $in1, $in2, $in3, $in4, $in5, $in6, $in7 )=map("v$_",(0..3,10,12..14)); ++my ($out0,$out1,$out2,$out3,$out4,$out5,$out6,$out7)=map("v$_",(15..22)); ++my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys ++ # v26-v31 last 6 round keys ++my ($tmp,$keyperm)=($in3,$in4); # aliases with "caller", redundant assignment ++my ($two,$three,$four)=($outhead,$outperm,$outmask); ++ ++$code.=<<___; ++.align 5 ++_aesp8_ctr32_encrypt8x: ++ $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) ++ li r10,`$FRAME+8*16+15` ++ li r11,`$FRAME+8*16+31` ++ stvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ stvx v21,r11,$sp ++ addi r11,r11,32 ++ stvx v22,r10,$sp ++ addi r10,r10,32 ++ stvx v23,r11,$sp ++ addi r11,r11,32 ++ stvx v24,r10,$sp ++ addi r10,r10,32 ++ stvx v25,r11,$sp ++ addi r11,r11,32 ++ stvx v26,r10,$sp ++ addi r10,r10,32 ++ stvx v27,r11,$sp ++ addi r11,r11,32 ++ stvx v28,r10,$sp ++ addi r10,r10,32 ++ stvx v29,r11,$sp ++ addi r11,r11,32 ++ stvx v30,r10,$sp ++ stvx v31,r11,$sp ++ li r0,-1 ++ stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave ++ li $x10,0x10 ++ $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ li $x20,0x20 ++ $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ li $x30,0x30 ++ $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ li $x40,0x40 ++ $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ li $x50,0x50 ++ $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ li $x60,0x60 ++ $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ li $x70,0x70 ++ mtspr 256,r0 ++ ++ subi $rounds,$rounds,3 # -4 in total ++ ++ lvx $rndkey0,$x00,$key # load key schedule ++ lvx v30,$x10,$key ++ addi $key,$key,0x20 ++ lvx v31,$x00,$key ++ ?vperm $rndkey0,$rndkey0,v30,$keyperm ++ addi $key_,$sp,`$FRAME+15` ++ mtctr $rounds ++ ++Load_ctr32_enc_key: ++ ?vperm v24,v30,v31,$keyperm ++ lvx v30,$x10,$key ++ addi $key,$key,0x20 ++ stvx v24,$x00,$key_ # off-load round[1] ++ ?vperm v25,v31,v30,$keyperm ++ lvx v31,$x00,$key ++ stvx v25,$x10,$key_ # off-load round[2] ++ addi $key_,$key_,0x20 ++ bdnz Load_ctr32_enc_key ++ ++ lvx v26,$x10,$key ++ ?vperm v24,v30,v31,$keyperm ++ lvx v27,$x20,$key ++ stvx v24,$x00,$key_ # off-load round[3] ++ ?vperm v25,v31,v26,$keyperm ++ lvx v28,$x30,$key ++ stvx v25,$x10,$key_ # off-load round[4] ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ ?vperm v26,v26,v27,$keyperm ++ lvx v29,$x40,$key ++ ?vperm v27,v27,v28,$keyperm ++ lvx v30,$x50,$key ++ ?vperm v28,v28,v29,$keyperm ++ lvx v31,$x60,$key ++ ?vperm v29,v29,v30,$keyperm ++ lvx $out0,$x70,$key # borrow $out0 ++ ?vperm v30,v30,v31,$keyperm ++ lvx v24,$x00,$key_ # pre-load round[1] ++ ?vperm v31,v31,$out0,$keyperm ++ lvx v25,$x10,$key_ # pre-load round[2] ++ ++ vadduwm $two,$one,$one ++ subi $inp,$inp,15 # undo "caller" ++ $SHL $len,$len,4 ++ ++ vadduwm $out1,$ivec,$one # counter values ... ++ vadduwm $out2,$ivec,$two ++ vxor $out0,$ivec,$rndkey0 # ... xored with rndkey[0] ++ le?li $idx,8 ++ vadduwm $out3,$out1,$two ++ vxor $out1,$out1,$rndkey0 ++ le?lvsl $inpperm,0,$idx ++ vadduwm $out4,$out2,$two ++ vxor $out2,$out2,$rndkey0 ++ le?vspltisb $tmp,0x0f ++ vadduwm $out5,$out3,$two ++ vxor $out3,$out3,$rndkey0 ++ le?vxor $inpperm,$inpperm,$tmp # transform for lvx_u/stvx_u ++ vadduwm $out6,$out4,$two ++ vxor $out4,$out4,$rndkey0 ++ vadduwm $out7,$out5,$two ++ vxor $out5,$out5,$rndkey0 ++ vadduwm $ivec,$out6,$two # next counter value ++ vxor $out6,$out6,$rndkey0 ++ vxor $out7,$out7,$rndkey0 ++ ++ mtctr $rounds ++ b Loop_ctr32_enc8x ++.align 5 ++Loop_ctr32_enc8x: ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vcipher $out4,$out4,v24 ++ vcipher $out5,$out5,v24 ++ vcipher $out6,$out6,v24 ++ vcipher $out7,$out7,v24 ++Loop_ctr32_enc8x_middle: ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vcipher $out4,$out4,v25 ++ vcipher $out5,$out5,v25 ++ vcipher $out6,$out6,v25 ++ vcipher $out7,$out7,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_ctr32_enc8x ++ ++ subic r11,$len,256 # $len-256, borrow $key_ ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vcipher $out4,$out4,v24 ++ vcipher $out5,$out5,v24 ++ vcipher $out6,$out6,v24 ++ vcipher $out7,$out7,v24 ++ ++ subfe r0,r0,r0 # borrow?-1:0 ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vcipher $out4,$out4,v25 ++ vcipher $out5,$out5,v25 ++ vcipher $out6,$out6,v25 ++ vcipher $out7,$out7,v25 ++ ++ and r0,r0,r11 ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vcipher $out0,$out0,v26 ++ vcipher $out1,$out1,v26 ++ vcipher $out2,$out2,v26 ++ vcipher $out3,$out3,v26 ++ vcipher $out4,$out4,v26 ++ vcipher $out5,$out5,v26 ++ vcipher $out6,$out6,v26 ++ vcipher $out7,$out7,v26 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ ++ subic $len,$len,129 # $len-=129 ++ vcipher $out0,$out0,v27 ++ addi $len,$len,1 # $len-=128 really ++ vcipher $out1,$out1,v27 ++ vcipher $out2,$out2,v27 ++ vcipher $out3,$out3,v27 ++ vcipher $out4,$out4,v27 ++ vcipher $out5,$out5,v27 ++ vcipher $out6,$out6,v27 ++ vcipher $out7,$out7,v27 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ ++ vcipher $out0,$out0,v28 ++ lvx_u $in0,$x00,$inp # load input ++ vcipher $out1,$out1,v28 ++ lvx_u $in1,$x10,$inp ++ vcipher $out2,$out2,v28 ++ lvx_u $in2,$x20,$inp ++ vcipher $out3,$out3,v28 ++ lvx_u $in3,$x30,$inp ++ vcipher $out4,$out4,v28 ++ lvx_u $in4,$x40,$inp ++ vcipher $out5,$out5,v28 ++ lvx_u $in5,$x50,$inp ++ vcipher $out6,$out6,v28 ++ lvx_u $in6,$x60,$inp ++ vcipher $out7,$out7,v28 ++ lvx_u $in7,$x70,$inp ++ addi $inp,$inp,0x80 ++ ++ vcipher $out0,$out0,v29 ++ le?vperm $in0,$in0,$in0,$inpperm ++ vcipher $out1,$out1,v29 ++ le?vperm $in1,$in1,$in1,$inpperm ++ vcipher $out2,$out2,v29 ++ le?vperm $in2,$in2,$in2,$inpperm ++ vcipher $out3,$out3,v29 ++ le?vperm $in3,$in3,$in3,$inpperm ++ vcipher $out4,$out4,v29 ++ le?vperm $in4,$in4,$in4,$inpperm ++ vcipher $out5,$out5,v29 ++ le?vperm $in5,$in5,$in5,$inpperm ++ vcipher $out6,$out6,v29 ++ le?vperm $in6,$in6,$in6,$inpperm ++ vcipher $out7,$out7,v29 ++ le?vperm $in7,$in7,$in7,$inpperm ++ ++ add $inp,$inp,r0 # $inp is adjusted in such ++ # way that at exit from the ++ # loop inX-in7 are loaded ++ # with last "words" ++ subfe. r0,r0,r0 # borrow?-1:0 ++ vcipher $out0,$out0,v30 ++ vxor $in0,$in0,v31 # xor with last round key ++ vcipher $out1,$out1,v30 ++ vxor $in1,$in1,v31 ++ vcipher $out2,$out2,v30 ++ vxor $in2,$in2,v31 ++ vcipher $out3,$out3,v30 ++ vxor $in3,$in3,v31 ++ vcipher $out4,$out4,v30 ++ vxor $in4,$in4,v31 ++ vcipher $out5,$out5,v30 ++ vxor $in5,$in5,v31 ++ vcipher $out6,$out6,v30 ++ vxor $in6,$in6,v31 ++ vcipher $out7,$out7,v30 ++ vxor $in7,$in7,v31 ++ ++ bne Lctr32_enc8x_break # did $len-129 borrow? ++ ++ vcipherlast $in0,$out0,$in0 ++ vcipherlast $in1,$out1,$in1 ++ vadduwm $out1,$ivec,$one # counter values ... ++ vcipherlast $in2,$out2,$in2 ++ vadduwm $out2,$ivec,$two ++ vxor $out0,$ivec,$rndkey0 # ... xored with rndkey[0] ++ vcipherlast $in3,$out3,$in3 ++ vadduwm $out3,$out1,$two ++ vxor $out1,$out1,$rndkey0 ++ vcipherlast $in4,$out4,$in4 ++ vadduwm $out4,$out2,$two ++ vxor $out2,$out2,$rndkey0 ++ vcipherlast $in5,$out5,$in5 ++ vadduwm $out5,$out3,$two ++ vxor $out3,$out3,$rndkey0 ++ vcipherlast $in6,$out6,$in6 ++ vadduwm $out6,$out4,$two ++ vxor $out4,$out4,$rndkey0 ++ vcipherlast $in7,$out7,$in7 ++ vadduwm $out7,$out5,$two ++ vxor $out5,$out5,$rndkey0 ++ le?vperm $in0,$in0,$in0,$inpperm ++ vadduwm $ivec,$out6,$two # next counter value ++ vxor $out6,$out6,$rndkey0 ++ le?vperm $in1,$in1,$in1,$inpperm ++ vxor $out7,$out7,$rndkey0 ++ mtctr $rounds ++ ++ vcipher $out0,$out0,v24 ++ stvx_u $in0,$x00,$out ++ le?vperm $in2,$in2,$in2,$inpperm ++ vcipher $out1,$out1,v24 ++ stvx_u $in1,$x10,$out ++ le?vperm $in3,$in3,$in3,$inpperm ++ vcipher $out2,$out2,v24 ++ stvx_u $in2,$x20,$out ++ le?vperm $in4,$in4,$in4,$inpperm ++ vcipher $out3,$out3,v24 ++ stvx_u $in3,$x30,$out ++ le?vperm $in5,$in5,$in5,$inpperm ++ vcipher $out4,$out4,v24 ++ stvx_u $in4,$x40,$out ++ le?vperm $in6,$in6,$in6,$inpperm ++ vcipher $out5,$out5,v24 ++ stvx_u $in5,$x50,$out ++ le?vperm $in7,$in7,$in7,$inpperm ++ vcipher $out6,$out6,v24 ++ stvx_u $in6,$x60,$out ++ vcipher $out7,$out7,v24 ++ stvx_u $in7,$x70,$out ++ addi $out,$out,0x80 ++ ++ b Loop_ctr32_enc8x_middle ++ ++.align 5 ++Lctr32_enc8x_break: ++ cmpwi $len,-0x60 ++ blt Lctr32_enc8x_one ++ nop ++ beq Lctr32_enc8x_two ++ cmpwi $len,-0x40 ++ blt Lctr32_enc8x_three ++ nop ++ beq Lctr32_enc8x_four ++ cmpwi $len,-0x20 ++ blt Lctr32_enc8x_five ++ nop ++ beq Lctr32_enc8x_six ++ cmpwi $len,0x00 ++ blt Lctr32_enc8x_seven ++ ++Lctr32_enc8x_eight: ++ vcipherlast $out0,$out0,$in0 ++ vcipherlast $out1,$out1,$in1 ++ vcipherlast $out2,$out2,$in2 ++ vcipherlast $out3,$out3,$in3 ++ vcipherlast $out4,$out4,$in4 ++ vcipherlast $out5,$out5,$in5 ++ vcipherlast $out6,$out6,$in6 ++ vcipherlast $out7,$out7,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x30,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x40,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x50,$out ++ le?vperm $out7,$out7,$out7,$inpperm ++ stvx_u $out6,$x60,$out ++ stvx_u $out7,$x70,$out ++ addi $out,$out,0x80 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_seven: ++ vcipherlast $out0,$out0,$in1 ++ vcipherlast $out1,$out1,$in2 ++ vcipherlast $out2,$out2,$in3 ++ vcipherlast $out3,$out3,$in4 ++ vcipherlast $out4,$out4,$in5 ++ vcipherlast $out5,$out5,$in6 ++ vcipherlast $out6,$out6,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x30,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x40,$out ++ le?vperm $out6,$out6,$out6,$inpperm ++ stvx_u $out5,$x50,$out ++ stvx_u $out6,$x60,$out ++ addi $out,$out,0x70 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_six: ++ vcipherlast $out0,$out0,$in2 ++ vcipherlast $out1,$out1,$in3 ++ vcipherlast $out2,$out2,$in4 ++ vcipherlast $out3,$out3,$in5 ++ vcipherlast $out4,$out4,$in6 ++ vcipherlast $out5,$out5,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x30,$out ++ le?vperm $out5,$out5,$out5,$inpperm ++ stvx_u $out4,$x40,$out ++ stvx_u $out5,$x50,$out ++ addi $out,$out,0x60 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_five: ++ vcipherlast $out0,$out0,$in3 ++ vcipherlast $out1,$out1,$in4 ++ vcipherlast $out2,$out2,$in5 ++ vcipherlast $out3,$out3,$in6 ++ vcipherlast $out4,$out4,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ le?vperm $out4,$out4,$out4,$inpperm ++ stvx_u $out3,$x30,$out ++ stvx_u $out4,$x40,$out ++ addi $out,$out,0x50 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_four: ++ vcipherlast $out0,$out0,$in4 ++ vcipherlast $out1,$out1,$in5 ++ vcipherlast $out2,$out2,$in6 ++ vcipherlast $out3,$out3,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$inpperm ++ stvx_u $out2,$x20,$out ++ stvx_u $out3,$x30,$out ++ addi $out,$out,0x40 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_three: ++ vcipherlast $out0,$out0,$in5 ++ vcipherlast $out1,$out1,$in6 ++ vcipherlast $out2,$out2,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ le?vperm $out2,$out2,$out2,$inpperm ++ stvx_u $out1,$x10,$out ++ stvx_u $out2,$x20,$out ++ addi $out,$out,0x30 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_two: ++ vcipherlast $out0,$out0,$in6 ++ vcipherlast $out1,$out1,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ le?vperm $out1,$out1,$out1,$inpperm ++ stvx_u $out0,$x00,$out ++ stvx_u $out1,$x10,$out ++ addi $out,$out,0x20 ++ b Lctr32_enc8x_done ++ ++.align 5 ++Lctr32_enc8x_one: ++ vcipherlast $out0,$out0,$in7 ++ ++ le?vperm $out0,$out0,$out0,$inpperm ++ stvx_u $out0,0,$out ++ addi $out,$out,0x10 ++ ++Lctr32_enc8x_done: ++ li r10,`$FRAME+15` ++ li r11,`$FRAME+31` ++ stvx $inpperm,r10,$sp # wipe copies of round keys ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ stvx $inpperm,r10,$sp ++ addi r10,r10,32 ++ stvx $inpperm,r11,$sp ++ addi r11,r11,32 ++ ++ mtspr 256,$vrsave ++ lvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ lvx v21,r11,$sp ++ addi r11,r11,32 ++ lvx v22,r10,$sp ++ addi r10,r10,32 ++ lvx v23,r11,$sp ++ addi r11,r11,32 ++ lvx v24,r10,$sp ++ addi r10,r10,32 ++ lvx v25,r11,$sp ++ addi r11,r11,32 ++ lvx v26,r10,$sp ++ addi r10,r10,32 ++ lvx v27,r11,$sp ++ addi r11,r11,32 ++ lvx v28,r10,$sp ++ addi r10,r10,32 ++ lvx v29,r11,$sp ++ addi r11,r11,32 ++ lvx v30,r10,$sp ++ lvx v31,r11,$sp ++ $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` ++ blr ++ .long 0 ++ .byte 0,12,0x04,0,0x80,6,6,0 ++ .long 0 ++.size .${prefix}_ctr32_encrypt_blocks,.-.${prefix}_ctr32_encrypt_blocks ++___ ++}} }}} ++ ++######################################################################### ++{{{ # XTS procedures # ++# int aes_p8_xts_[en|de]crypt(const char *inp, char *out, size_t len, # ++# const AES_KEY *key1, const AES_KEY *key2, # ++# [const] unsigned char iv[16]); # ++# If $key2 is NULL, then a "tweak chaining" mode is engaged, in which # ++# input tweak value is assumed to be encrypted already, and last tweak # ++# value, one suitable for consecutive call on same chunk of data, is # ++# written back to original buffer. In addition, in "tweak chaining" # ++# mode only complete input blocks are processed. # ++ ++my ($inp,$out,$len,$key1,$key2,$ivp,$rounds,$idx) = map("r$_",(3..10)); ++my ($rndkey0,$rndkey1,$inout) = map("v$_",(0..2)); ++my ($output,$inptail,$inpperm,$leperm,$keyperm) = map("v$_",(3..7)); ++my ($tweak,$seven,$eighty7,$tmp,$tweak1) = map("v$_",(8..12)); ++my $taillen = $key2; ++ ++ ($inp,$idx) = ($idx,$inp); # reassign ++ ++$code.=<<___; ++.globl .${prefix}_xts_encrypt ++.align 5 ++.${prefix}_xts_encrypt: ++ mr $inp,r3 # reassign ++ li r3,-1 ++ ${UCMP}i $len,16 ++ bltlr- ++ ++ lis r0,0xfff0 ++ mfspr r12,256 # save vrsave ++ li r11,0 ++ mtspr 256,r0 ++ ++ vspltisb $seven,0x07 # 0x070707..07 ++ le?lvsl $leperm,r11,r11 ++ le?vspltisb $tmp,0x0f ++ le?vxor $leperm,$leperm,$seven ++ ++ li $idx,15 ++ lvx $tweak,0,$ivp # load [unaligned] iv ++ lvsl $inpperm,0,$ivp ++ lvx $inptail,$idx,$ivp ++ le?vxor $inpperm,$inpperm,$tmp ++ vperm $tweak,$tweak,$inptail,$inpperm ++ ++ neg r11,$inp ++ lvsr $inpperm,0,r11 # prepare for unaligned load ++ lvx $inout,0,$inp ++ addi $inp,$inp,15 # 15 is not typo ++ le?vxor $inpperm,$inpperm,$tmp ++ ++ ${UCMP}i $key2,0 # key2==NULL? ++ beq Lxts_enc_no_key2 ++ ++ ?lvsl $keyperm,0,$key2 # prepare for unaligned key ++ lwz $rounds,240($key2) ++ srwi $rounds,$rounds,1 ++ subi $rounds,$rounds,1 ++ li $idx,16 ++ ++ lvx $rndkey0,0,$key2 ++ lvx $rndkey1,$idx,$key2 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $tweak,$tweak,$rndkey0 ++ lvx $rndkey0,$idx,$key2 ++ addi $idx,$idx,16 ++ mtctr $rounds ++ ++Ltweak_xts_enc: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $tweak,$tweak,$rndkey1 ++ lvx $rndkey1,$idx,$key2 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipher $tweak,$tweak,$rndkey0 ++ lvx $rndkey0,$idx,$key2 ++ addi $idx,$idx,16 ++ bdnz Ltweak_xts_enc ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $tweak,$tweak,$rndkey1 ++ lvx $rndkey1,$idx,$key2 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipherlast $tweak,$tweak,$rndkey0 ++ ++ li $ivp,0 # don't chain the tweak ++ b Lxts_enc ++ ++Lxts_enc_no_key2: ++ li $idx,-16 ++ and $len,$len,$idx # in "tweak chaining" ++ # mode only complete ++ # blocks are processed ++Lxts_enc: ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ ++ ?lvsl $keyperm,0,$key1 # prepare for unaligned key ++ lwz $rounds,240($key1) ++ srwi $rounds,$rounds,1 ++ subi $rounds,$rounds,1 ++ li $idx,16 ++ ++ vslb $eighty7,$seven,$seven # 0x808080..80 ++ vor $eighty7,$eighty7,$seven # 0x878787..87 ++ vspltisb $tmp,1 # 0x010101..01 ++ vsldoi $eighty7,$eighty7,$tmp,15 # 0x870101..01 ++ ++ ${UCMP}i $len,96 ++ bge _aesp8_xts_encrypt6x ++ ++ andi. $taillen,$len,15 ++ subic r0,$len,32 ++ subi $taillen,$taillen,16 ++ subfe r0,r0,r0 ++ and r0,r0,$taillen ++ add $inp,$inp,r0 ++ ++ lvx $rndkey0,0,$key1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ vperm $inout,$inout,$inptail,$inpperm ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$inout,$tweak ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ mtctr $rounds ++ b Loop_xts_enc ++ ++.align 5 ++Loop_xts_enc: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ bdnz Loop_xts_enc ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ li $idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $rndkey0,$rndkey0,$tweak ++ vcipherlast $output,$inout,$rndkey0 ++ ++ le?vperm $tmp,$output,$output,$leperm ++ be?nop ++ le?stvx_u $tmp,0,$out ++ be?stvx_u $output,0,$out ++ addi $out,$out,16 ++ ++ subic. $len,$len,16 ++ beq Lxts_enc_done ++ ++ vmr $inout,$inptail ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ lvx $rndkey0,0,$key1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ ++ subic r0,$len,32 ++ subfe r0,r0,r0 ++ and r0,r0,$taillen ++ add $inp,$inp,r0 ++ ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $tweak,$tweak,$tmp ++ ++ vperm $inout,$inout,$inptail,$inpperm ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$inout,$tweak ++ vxor $output,$output,$rndkey0 # just in case $len<16 ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ ++ mtctr $rounds ++ ${UCMP}i $len,16 ++ bge Loop_xts_enc ++ ++ vxor $output,$output,$tweak ++ lvsr $inpperm,0,$len # $inpperm is no longer needed ++ vxor $inptail,$inptail,$inptail # $inptail is no longer needed ++ vspltisb $tmp,-1 ++ vperm $inptail,$inptail,$tmp,$inpperm ++ vsel $inout,$inout,$output,$inptail ++ ++ subi r11,$out,17 ++ subi $out,$out,16 ++ mtctr $len ++ li $len,16 ++Loop_xts_enc_steal: ++ lbzu r0,1(r11) ++ stb r0,16(r11) ++ bdnz Loop_xts_enc_steal ++ ++ mtctr $rounds ++ b Loop_xts_enc # one more time... ++ ++Lxts_enc_done: ++ ${UCMP}i $ivp,0 ++ beq Lxts_enc_ret ++ ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $tweak,$tweak,$tmp ++ ++ le?vperm $tweak,$tweak,$tweak,$leperm ++ stvx_u $tweak,0,$ivp ++ ++Lxts_enc_ret: ++ mtspr 256,r12 # restore vrsave ++ li r3,0 ++ blr ++ .long 0 ++ .byte 0,12,0x04,0,0x80,6,6,0 ++ .long 0 ++.size .${prefix}_xts_encrypt,.-.${prefix}_xts_encrypt ++ ++.globl .${prefix}_xts_decrypt ++.align 5 ++.${prefix}_xts_decrypt: ++ mr $inp,r3 # reassign ++ li r3,-1 ++ ${UCMP}i $len,16 ++ bltlr- ++ ++ lis r0,0xfff8 ++ mfspr r12,256 # save vrsave ++ li r11,0 ++ mtspr 256,r0 ++ ++ andi. r0,$len,15 ++ neg r0,r0 ++ andi. r0,r0,16 ++ sub $len,$len,r0 ++ ++ vspltisb $seven,0x07 # 0x070707..07 ++ le?lvsl $leperm,r11,r11 ++ le?vspltisb $tmp,0x0f ++ le?vxor $leperm,$leperm,$seven ++ ++ li $idx,15 ++ lvx $tweak,0,$ivp # load [unaligned] iv ++ lvsl $inpperm,0,$ivp ++ lvx $inptail,$idx,$ivp ++ le?vxor $inpperm,$inpperm,$tmp ++ vperm $tweak,$tweak,$inptail,$inpperm ++ ++ neg r11,$inp ++ lvsr $inpperm,0,r11 # prepare for unaligned load ++ lvx $inout,0,$inp ++ addi $inp,$inp,15 # 15 is not typo ++ le?vxor $inpperm,$inpperm,$tmp ++ ++ ${UCMP}i $key2,0 # key2==NULL? ++ beq Lxts_dec_no_key2 ++ ++ ?lvsl $keyperm,0,$key2 # prepare for unaligned key ++ lwz $rounds,240($key2) ++ srwi $rounds,$rounds,1 ++ subi $rounds,$rounds,1 ++ li $idx,16 ++ ++ lvx $rndkey0,0,$key2 ++ lvx $rndkey1,$idx,$key2 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $tweak,$tweak,$rndkey0 ++ lvx $rndkey0,$idx,$key2 ++ addi $idx,$idx,16 ++ mtctr $rounds ++ ++Ltweak_xts_dec: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $tweak,$tweak,$rndkey1 ++ lvx $rndkey1,$idx,$key2 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipher $tweak,$tweak,$rndkey0 ++ lvx $rndkey0,$idx,$key2 ++ addi $idx,$idx,16 ++ bdnz Ltweak_xts_dec ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vcipher $tweak,$tweak,$rndkey1 ++ lvx $rndkey1,$idx,$key2 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vcipherlast $tweak,$tweak,$rndkey0 ++ ++ li $ivp,0 # don't chain the tweak ++ b Lxts_dec ++ ++Lxts_dec_no_key2: ++ neg $idx,$len ++ andi. $idx,$idx,15 ++ add $len,$len,$idx # in "tweak chaining" ++ # mode only complete ++ # blocks are processed ++Lxts_dec: ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ ++ ?lvsl $keyperm,0,$key1 # prepare for unaligned key ++ lwz $rounds,240($key1) ++ srwi $rounds,$rounds,1 ++ subi $rounds,$rounds,1 ++ li $idx,16 ++ ++ vslb $eighty7,$seven,$seven # 0x808080..80 ++ vor $eighty7,$eighty7,$seven # 0x878787..87 ++ vspltisb $tmp,1 # 0x010101..01 ++ vsldoi $eighty7,$eighty7,$tmp,15 # 0x870101..01 ++ ++ ${UCMP}i $len,96 ++ bge _aesp8_xts_decrypt6x ++ ++ lvx $rndkey0,0,$key1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ vperm $inout,$inout,$inptail,$inpperm ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$inout,$tweak ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ mtctr $rounds ++ ++ ${UCMP}i $len,16 ++ blt Ltail_xts_dec ++ be?b Loop_xts_dec ++ ++.align 5 ++Loop_xts_dec: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vncipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ bdnz Loop_xts_dec ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ li $idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $rndkey0,$rndkey0,$tweak ++ vncipherlast $output,$inout,$rndkey0 ++ ++ le?vperm $tmp,$output,$output,$leperm ++ be?nop ++ le?stvx_u $tmp,0,$out ++ be?stvx_u $output,0,$out ++ addi $out,$out,16 ++ ++ subic. $len,$len,16 ++ beq Lxts_dec_done ++ ++ vmr $inout,$inptail ++ lvx $inptail,0,$inp ++ addi $inp,$inp,16 ++ lvx $rndkey0,0,$key1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $tweak,$tweak,$tmp ++ ++ vperm $inout,$inout,$inptail,$inpperm ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $inout,$inout,$tweak ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ ++ mtctr $rounds ++ ${UCMP}i $len,16 ++ bge Loop_xts_dec ++ ++Ltail_xts_dec: ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak1,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $tweak1,$tweak1,$tmp ++ ++ subi $inp,$inp,16 ++ add $inp,$inp,$len ++ ++ vxor $inout,$inout,$tweak # :-( ++ vxor $inout,$inout,$tweak1 # :-) ++ ++Loop_xts_dec_short: ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vncipher $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ bdnz Loop_xts_dec_short ++ ++ ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm ++ vncipher $inout,$inout,$rndkey1 ++ lvx $rndkey1,$idx,$key1 ++ li $idx,16 ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ vxor $rndkey0,$rndkey0,$tweak1 ++ vncipherlast $output,$inout,$rndkey0 ++ ++ le?vperm $tmp,$output,$output,$leperm ++ be?nop ++ le?stvx_u $tmp,0,$out ++ be?stvx_u $output,0,$out ++ ++ vmr $inout,$inptail ++ lvx $inptail,0,$inp ++ #addi $inp,$inp,16 ++ lvx $rndkey0,0,$key1 ++ lvx $rndkey1,$idx,$key1 ++ addi $idx,$idx,16 ++ vperm $inout,$inout,$inptail,$inpperm ++ ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm ++ ++ lvsr $inpperm,0,$len # $inpperm is no longer needed ++ vxor $inptail,$inptail,$inptail # $inptail is no longer needed ++ vspltisb $tmp,-1 ++ vperm $inptail,$inptail,$tmp,$inpperm ++ vsel $inout,$inout,$output,$inptail ++ ++ vxor $rndkey0,$rndkey0,$tweak ++ vxor $inout,$inout,$rndkey0 ++ lvx $rndkey0,$idx,$key1 ++ addi $idx,$idx,16 ++ ++ subi r11,$out,1 ++ mtctr $len ++ li $len,16 ++Loop_xts_dec_steal: ++ lbzu r0,1(r11) ++ stb r0,16(r11) ++ bdnz Loop_xts_dec_steal ++ ++ mtctr $rounds ++ b Loop_xts_dec # one more time... ++ ++Lxts_dec_done: ++ ${UCMP}i $ivp,0 ++ beq Lxts_dec_ret ++ ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $tweak,$tweak,$tmp ++ ++ le?vperm $tweak,$tweak,$tweak,$leperm ++ stvx_u $tweak,0,$ivp ++ ++Lxts_dec_ret: ++ mtspr 256,r12 # restore vrsave ++ li r3,0 ++ blr ++ .long 0 ++ .byte 0,12,0x04,0,0x80,6,6,0 ++ .long 0 ++.size .${prefix}_xts_decrypt,.-.${prefix}_xts_decrypt ++___ ++######################################################################### ++{{ # Optimized XTS procedures # ++my $key_=$key2; ++my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,3,26..31)); ++ $x00=0 if ($flavour =~ /osx/); ++my ($in0, $in1, $in2, $in3, $in4, $in5 )=map("v$_",(0..5)); ++my ($out0, $out1, $out2, $out3, $out4, $out5)=map("v$_",(7,12..16)); ++my ($twk0, $twk1, $twk2, $twk3, $twk4, $twk5)=map("v$_",(17..22)); ++my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys ++ # v26-v31 last 6 round keys ++my ($keyperm)=($out0); # aliases with "caller", redundant assignment ++my $taillen=$x70; ++ ++$code.=<<___; ++.align 5 ++_aesp8_xts_encrypt6x: ++ $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) ++ mflr r11 ++ li r7,`$FRAME+8*16+15` ++ li r3,`$FRAME+8*16+31` ++ $PUSH r11,`$FRAME+21*16+6*$SIZE_T+$LRSAVE`($sp) ++ stvx v20,r7,$sp # ABI says so ++ addi r7,r7,32 ++ stvx v21,r3,$sp ++ addi r3,r3,32 ++ stvx v22,r7,$sp ++ addi r7,r7,32 ++ stvx v23,r3,$sp ++ addi r3,r3,32 ++ stvx v24,r7,$sp ++ addi r7,r7,32 ++ stvx v25,r3,$sp ++ addi r3,r3,32 ++ stvx v26,r7,$sp ++ addi r7,r7,32 ++ stvx v27,r3,$sp ++ addi r3,r3,32 ++ stvx v28,r7,$sp ++ addi r7,r7,32 ++ stvx v29,r3,$sp ++ addi r3,r3,32 ++ stvx v30,r7,$sp ++ stvx v31,r3,$sp ++ li r0,-1 ++ stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave ++ li $x10,0x10 ++ $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ li $x20,0x20 ++ $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ li $x30,0x30 ++ $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ li $x40,0x40 ++ $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ li $x50,0x50 ++ $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ li $x60,0x60 ++ $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ li $x70,0x70 ++ mtspr 256,r0 ++ ++ subi $rounds,$rounds,3 # -4 in total ++ ++ lvx $rndkey0,$x00,$key1 # load key schedule ++ lvx v30,$x10,$key1 ++ addi $key1,$key1,0x20 ++ lvx v31,$x00,$key1 ++ ?vperm $rndkey0,$rndkey0,v30,$keyperm ++ addi $key_,$sp,`$FRAME+15` ++ mtctr $rounds ++ ++Load_xts_enc_key: ++ ?vperm v24,v30,v31,$keyperm ++ lvx v30,$x10,$key1 ++ addi $key1,$key1,0x20 ++ stvx v24,$x00,$key_ # off-load round[1] ++ ?vperm v25,v31,v30,$keyperm ++ lvx v31,$x00,$key1 ++ stvx v25,$x10,$key_ # off-load round[2] ++ addi $key_,$key_,0x20 ++ bdnz Load_xts_enc_key ++ ++ lvx v26,$x10,$key1 ++ ?vperm v24,v30,v31,$keyperm ++ lvx v27,$x20,$key1 ++ stvx v24,$x00,$key_ # off-load round[3] ++ ?vperm v25,v31,v26,$keyperm ++ lvx v28,$x30,$key1 ++ stvx v25,$x10,$key_ # off-load round[4] ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ ?vperm v26,v26,v27,$keyperm ++ lvx v29,$x40,$key1 ++ ?vperm v27,v27,v28,$keyperm ++ lvx v30,$x50,$key1 ++ ?vperm v28,v28,v29,$keyperm ++ lvx v31,$x60,$key1 ++ ?vperm v29,v29,v30,$keyperm ++ lvx $twk5,$x70,$key1 # borrow $twk5 ++ ?vperm v30,v30,v31,$keyperm ++ lvx v24,$x00,$key_ # pre-load round[1] ++ ?vperm v31,v31,$twk5,$keyperm ++ lvx v25,$x10,$key_ # pre-load round[2] ++ ++ vperm $in0,$inout,$inptail,$inpperm ++ subi $inp,$inp,31 # undo "caller" ++ vxor $twk0,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $out0,$in0,$twk0 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in1,$x10,$inp ++ vxor $twk1,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in1,$in1,$in1,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out1,$in1,$twk1 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in2,$x20,$inp ++ andi. $taillen,$len,15 ++ vxor $twk2,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in2,$in2,$in2,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out2,$in2,$twk2 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in3,$x30,$inp ++ sub $len,$len,$taillen ++ vxor $twk3,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in3,$in3,$in3,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out3,$in3,$twk3 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in4,$x40,$inp ++ subi $len,$len,0x60 ++ vxor $twk4,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in4,$in4,$in4,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out4,$in4,$twk4 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in5,$x50,$inp ++ addi $inp,$inp,0x60 ++ vxor $twk5,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in5,$in5,$in5,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out5,$in5,$twk5 ++ vxor $tweak,$tweak,$tmp ++ ++ vxor v31,v31,$rndkey0 ++ mtctr $rounds ++ b Loop_xts_enc6x ++ ++.align 5 ++Loop_xts_enc6x: ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vcipher $out4,$out4,v24 ++ vcipher $out5,$out5,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vcipher $out4,$out4,v25 ++ vcipher $out5,$out5,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_xts_enc6x ++ ++ subic $len,$len,96 # $len-=96 ++ vxor $in0,$twk0,v31 # xor with last round key ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk0,$tweak,$rndkey0 ++ vaddubm $tweak,$tweak,$tweak ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vsldoi $tmp,$tmp,$tmp,15 ++ vcipher $out4,$out4,v24 ++ vcipher $out5,$out5,v24 ++ ++ subfe. r0,r0,r0 # borrow?-1:0 ++ vand $tmp,$tmp,$eighty7 ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vxor $tweak,$tweak,$tmp ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vxor $in1,$twk1,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk1,$tweak,$rndkey0 ++ vcipher $out4,$out4,v25 ++ vcipher $out5,$out5,v25 ++ ++ and r0,r0,$len ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vcipher $out0,$out0,v26 ++ vcipher $out1,$out1,v26 ++ vand $tmp,$tmp,$eighty7 ++ vcipher $out2,$out2,v26 ++ vcipher $out3,$out3,v26 ++ vxor $tweak,$tweak,$tmp ++ vcipher $out4,$out4,v26 ++ vcipher $out5,$out5,v26 ++ ++ add $inp,$inp,r0 # $inp is adjusted in such ++ # way that at exit from the ++ # loop inX-in5 are loaded ++ # with last "words" ++ vxor $in2,$twk2,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk2,$tweak,$rndkey0 ++ vaddubm $tweak,$tweak,$tweak ++ vcipher $out0,$out0,v27 ++ vcipher $out1,$out1,v27 ++ vsldoi $tmp,$tmp,$tmp,15 ++ vcipher $out2,$out2,v27 ++ vcipher $out3,$out3,v27 ++ vand $tmp,$tmp,$eighty7 ++ vcipher $out4,$out4,v27 ++ vcipher $out5,$out5,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vxor $tweak,$tweak,$tmp ++ vcipher $out0,$out0,v28 ++ vcipher $out1,$out1,v28 ++ vxor $in3,$twk3,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk3,$tweak,$rndkey0 ++ vcipher $out2,$out2,v28 ++ vcipher $out3,$out3,v28 ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vcipher $out4,$out4,v28 ++ vcipher $out5,$out5,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ vand $tmp,$tmp,$eighty7 ++ ++ vcipher $out0,$out0,v29 ++ vcipher $out1,$out1,v29 ++ vxor $tweak,$tweak,$tmp ++ vcipher $out2,$out2,v29 ++ vcipher $out3,$out3,v29 ++ vxor $in4,$twk4,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk4,$tweak,$rndkey0 ++ vcipher $out4,$out4,v29 ++ vcipher $out5,$out5,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ ++ vcipher $out0,$out0,v30 ++ vcipher $out1,$out1,v30 ++ vand $tmp,$tmp,$eighty7 ++ vcipher $out2,$out2,v30 ++ vcipher $out3,$out3,v30 ++ vxor $tweak,$tweak,$tmp ++ vcipher $out4,$out4,v30 ++ vcipher $out5,$out5,v30 ++ vxor $in5,$twk5,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk5,$tweak,$rndkey0 ++ ++ vcipherlast $out0,$out0,$in0 ++ lvx_u $in0,$x00,$inp # load next input block ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vcipherlast $out1,$out1,$in1 ++ lvx_u $in1,$x10,$inp ++ vcipherlast $out2,$out2,$in2 ++ le?vperm $in0,$in0,$in0,$leperm ++ lvx_u $in2,$x20,$inp ++ vand $tmp,$tmp,$eighty7 ++ vcipherlast $out3,$out3,$in3 ++ le?vperm $in1,$in1,$in1,$leperm ++ lvx_u $in3,$x30,$inp ++ vcipherlast $out4,$out4,$in4 ++ le?vperm $in2,$in2,$in2,$leperm ++ lvx_u $in4,$x40,$inp ++ vxor $tweak,$tweak,$tmp ++ vcipherlast $tmp,$out5,$in5 # last block might be needed ++ # in stealing mode ++ le?vperm $in3,$in3,$in3,$leperm ++ lvx_u $in5,$x50,$inp ++ addi $inp,$inp,0x60 ++ le?vperm $in4,$in4,$in4,$leperm ++ le?vperm $in5,$in5,$in5,$leperm ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk0 ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ vxor $out1,$in1,$twk1 ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ vxor $out2,$in2,$twk2 ++ le?vperm $out4,$out4,$out4,$leperm ++ stvx_u $out3,$x30,$out ++ vxor $out3,$in3,$twk3 ++ le?vperm $out5,$tmp,$tmp,$leperm ++ stvx_u $out4,$x40,$out ++ vxor $out4,$in4,$twk4 ++ le?stvx_u $out5,$x50,$out ++ be?stvx_u $tmp, $x50,$out ++ vxor $out5,$in5,$twk5 ++ addi $out,$out,0x60 ++ ++ mtctr $rounds ++ beq Loop_xts_enc6x # did $len-=96 borrow? ++ ++ addic. $len,$len,0x60 ++ beq Lxts_enc6x_zero ++ cmpwi $len,0x20 ++ blt Lxts_enc6x_one ++ nop ++ beq Lxts_enc6x_two ++ cmpwi $len,0x40 ++ blt Lxts_enc6x_three ++ nop ++ beq Lxts_enc6x_four ++ ++Lxts_enc6x_five: ++ vxor $out0,$in1,$twk0 ++ vxor $out1,$in2,$twk1 ++ vxor $out2,$in3,$twk2 ++ vxor $out3,$in4,$twk3 ++ vxor $out4,$in5,$twk4 ++ ++ bl _aesp8_xts_enc5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk5 # unused tweak ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ vxor $tmp,$out4,$twk5 # last block prep for stealing ++ le?vperm $out4,$out4,$out4,$leperm ++ stvx_u $out3,$x30,$out ++ stvx_u $out4,$x40,$out ++ addi $out,$out,0x50 ++ bne Lxts_enc6x_steal ++ b Lxts_enc6x_done ++ ++.align 4 ++Lxts_enc6x_four: ++ vxor $out0,$in2,$twk0 ++ vxor $out1,$in3,$twk1 ++ vxor $out2,$in4,$twk2 ++ vxor $out3,$in5,$twk3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_enc5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk4 # unused tweak ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ vxor $tmp,$out3,$twk4 # last block prep for stealing ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ stvx_u $out3,$x30,$out ++ addi $out,$out,0x40 ++ bne Lxts_enc6x_steal ++ b Lxts_enc6x_done ++ ++.align 4 ++Lxts_enc6x_three: ++ vxor $out0,$in3,$twk0 ++ vxor $out1,$in4,$twk1 ++ vxor $out2,$in5,$twk2 ++ vxor $out3,$out3,$out3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_enc5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk3 # unused tweak ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $tmp,$out2,$twk3 # last block prep for stealing ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ stvx_u $out2,$x20,$out ++ addi $out,$out,0x30 ++ bne Lxts_enc6x_steal ++ b Lxts_enc6x_done ++ ++.align 4 ++Lxts_enc6x_two: ++ vxor $out0,$in4,$twk0 ++ vxor $out1,$in5,$twk1 ++ vxor $out2,$out2,$out2 ++ vxor $out3,$out3,$out3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_enc5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk2 # unused tweak ++ vxor $tmp,$out1,$twk2 # last block prep for stealing ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ stvx_u $out1,$x10,$out ++ addi $out,$out,0x20 ++ bne Lxts_enc6x_steal ++ b Lxts_enc6x_done ++ ++.align 4 ++Lxts_enc6x_one: ++ vxor $out0,$in5,$twk0 ++ nop ++Loop_xts_enc1x: ++ vcipher $out0,$out0,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vcipher $out0,$out0,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_xts_enc1x ++ ++ add $inp,$inp,$taillen ++ cmpwi $taillen,0 ++ vcipher $out0,$out0,v24 ++ ++ subi $inp,$inp,16 ++ vcipher $out0,$out0,v25 ++ ++ lvsr $inpperm,0,$taillen ++ vcipher $out0,$out0,v26 ++ ++ lvx_u $in0,0,$inp ++ vcipher $out0,$out0,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vcipher $out0,$out0,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ ++ vcipher $out0,$out0,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vxor $twk0,$twk0,v31 ++ ++ le?vperm $in0,$in0,$in0,$leperm ++ vcipher $out0,$out0,v30 ++ ++ vperm $in0,$in0,$in0,$inpperm ++ vcipherlast $out0,$out0,$twk0 ++ ++ vmr $twk0,$twk1 # unused tweak ++ vxor $tmp,$out0,$twk1 # last block prep for stealing ++ le?vperm $out0,$out0,$out0,$leperm ++ stvx_u $out0,$x00,$out # store output ++ addi $out,$out,0x10 ++ bne Lxts_enc6x_steal ++ b Lxts_enc6x_done ++ ++.align 4 ++Lxts_enc6x_zero: ++ cmpwi $taillen,0 ++ beq Lxts_enc6x_done ++ ++ add $inp,$inp,$taillen ++ subi $inp,$inp,16 ++ lvx_u $in0,0,$inp ++ lvsr $inpperm,0,$taillen # $in5 is no more ++ le?vperm $in0,$in0,$in0,$leperm ++ vperm $in0,$in0,$in0,$inpperm ++ vxor $tmp,$tmp,$twk0 ++Lxts_enc6x_steal: ++ vxor $in0,$in0,$twk0 ++ vxor $out0,$out0,$out0 ++ vspltisb $out1,-1 ++ vperm $out0,$out0,$out1,$inpperm ++ vsel $out0,$in0,$tmp,$out0 # $tmp is last block, remember? ++ ++ subi r30,$out,17 ++ subi $out,$out,16 ++ mtctr $taillen ++Loop_xts_enc6x_steal: ++ lbzu r0,1(r30) ++ stb r0,16(r30) ++ bdnz Loop_xts_enc6x_steal ++ ++ li $taillen,0 ++ mtctr $rounds ++ b Loop_xts_enc1x # one more time... ++ ++.align 4 ++Lxts_enc6x_done: ++ ${UCMP}i $ivp,0 ++ beq Lxts_enc6x_ret ++ ++ vxor $tweak,$twk0,$rndkey0 ++ le?vperm $tweak,$tweak,$tweak,$leperm ++ stvx_u $tweak,0,$ivp ++ ++Lxts_enc6x_ret: ++ mtlr r11 ++ li r10,`$FRAME+15` ++ li r11,`$FRAME+31` ++ stvx $seven,r10,$sp # wipe copies of round keys ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ ++ mtspr 256,$vrsave ++ lvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ lvx v21,r11,$sp ++ addi r11,r11,32 ++ lvx v22,r10,$sp ++ addi r10,r10,32 ++ lvx v23,r11,$sp ++ addi r11,r11,32 ++ lvx v24,r10,$sp ++ addi r10,r10,32 ++ lvx v25,r11,$sp ++ addi r11,r11,32 ++ lvx v26,r10,$sp ++ addi r10,r10,32 ++ lvx v27,r11,$sp ++ addi r11,r11,32 ++ lvx v28,r10,$sp ++ addi r10,r10,32 ++ lvx v29,r11,$sp ++ addi r11,r11,32 ++ lvx v30,r10,$sp ++ lvx v31,r11,$sp ++ $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` ++ blr ++ .long 0 ++ .byte 0,12,0x04,1,0x80,6,6,0 ++ .long 0 ++ ++.align 5 ++_aesp8_xts_enc5x: ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vcipher $out4,$out4,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vcipher $out4,$out4,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz _aesp8_xts_enc5x ++ ++ add $inp,$inp,$taillen ++ cmpwi $taillen,0 ++ vcipher $out0,$out0,v24 ++ vcipher $out1,$out1,v24 ++ vcipher $out2,$out2,v24 ++ vcipher $out3,$out3,v24 ++ vcipher $out4,$out4,v24 ++ ++ subi $inp,$inp,16 ++ vcipher $out0,$out0,v25 ++ vcipher $out1,$out1,v25 ++ vcipher $out2,$out2,v25 ++ vcipher $out3,$out3,v25 ++ vcipher $out4,$out4,v25 ++ vxor $twk0,$twk0,v31 ++ ++ vcipher $out0,$out0,v26 ++ lvsr $inpperm,0,$taillen # $in5 is no more ++ vcipher $out1,$out1,v26 ++ vcipher $out2,$out2,v26 ++ vcipher $out3,$out3,v26 ++ vcipher $out4,$out4,v26 ++ vxor $in1,$twk1,v31 ++ ++ vcipher $out0,$out0,v27 ++ lvx_u $in0,0,$inp ++ vcipher $out1,$out1,v27 ++ vcipher $out2,$out2,v27 ++ vcipher $out3,$out3,v27 ++ vcipher $out4,$out4,v27 ++ vxor $in2,$twk2,v31 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vcipher $out0,$out0,v28 ++ vcipher $out1,$out1,v28 ++ vcipher $out2,$out2,v28 ++ vcipher $out3,$out3,v28 ++ vcipher $out4,$out4,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ vxor $in3,$twk3,v31 ++ ++ vcipher $out0,$out0,v29 ++ le?vperm $in0,$in0,$in0,$leperm ++ vcipher $out1,$out1,v29 ++ vcipher $out2,$out2,v29 ++ vcipher $out3,$out3,v29 ++ vcipher $out4,$out4,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vxor $in4,$twk4,v31 ++ ++ vcipher $out0,$out0,v30 ++ vperm $in0,$in0,$in0,$inpperm ++ vcipher $out1,$out1,v30 ++ vcipher $out2,$out2,v30 ++ vcipher $out3,$out3,v30 ++ vcipher $out4,$out4,v30 ++ ++ vcipherlast $out0,$out0,$twk0 ++ vcipherlast $out1,$out1,$in1 ++ vcipherlast $out2,$out2,$in2 ++ vcipherlast $out3,$out3,$in3 ++ vcipherlast $out4,$out4,$in4 ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,0,0 ++ ++.align 5 ++_aesp8_xts_decrypt6x: ++ $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) ++ mflr r11 ++ li r7,`$FRAME+8*16+15` ++ li r3,`$FRAME+8*16+31` ++ $PUSH r11,`$FRAME+21*16+6*$SIZE_T+$LRSAVE`($sp) ++ stvx v20,r7,$sp # ABI says so ++ addi r7,r7,32 ++ stvx v21,r3,$sp ++ addi r3,r3,32 ++ stvx v22,r7,$sp ++ addi r7,r7,32 ++ stvx v23,r3,$sp ++ addi r3,r3,32 ++ stvx v24,r7,$sp ++ addi r7,r7,32 ++ stvx v25,r3,$sp ++ addi r3,r3,32 ++ stvx v26,r7,$sp ++ addi r7,r7,32 ++ stvx v27,r3,$sp ++ addi r3,r3,32 ++ stvx v28,r7,$sp ++ addi r7,r7,32 ++ stvx v29,r3,$sp ++ addi r3,r3,32 ++ stvx v30,r7,$sp ++ stvx v31,r3,$sp ++ li r0,-1 ++ stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave ++ li $x10,0x10 ++ $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ li $x20,0x20 ++ $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ li $x30,0x30 ++ $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ li $x40,0x40 ++ $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ li $x50,0x50 ++ $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ li $x60,0x60 ++ $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ li $x70,0x70 ++ mtspr 256,r0 ++ ++ subi $rounds,$rounds,3 # -4 in total ++ ++ lvx $rndkey0,$x00,$key1 # load key schedule ++ lvx v30,$x10,$key1 ++ addi $key1,$key1,0x20 ++ lvx v31,$x00,$key1 ++ ?vperm $rndkey0,$rndkey0,v30,$keyperm ++ addi $key_,$sp,`$FRAME+15` ++ mtctr $rounds ++ ++Load_xts_dec_key: ++ ?vperm v24,v30,v31,$keyperm ++ lvx v30,$x10,$key1 ++ addi $key1,$key1,0x20 ++ stvx v24,$x00,$key_ # off-load round[1] ++ ?vperm v25,v31,v30,$keyperm ++ lvx v31,$x00,$key1 ++ stvx v25,$x10,$key_ # off-load round[2] ++ addi $key_,$key_,0x20 ++ bdnz Load_xts_dec_key ++ ++ lvx v26,$x10,$key1 ++ ?vperm v24,v30,v31,$keyperm ++ lvx v27,$x20,$key1 ++ stvx v24,$x00,$key_ # off-load round[3] ++ ?vperm v25,v31,v26,$keyperm ++ lvx v28,$x30,$key1 ++ stvx v25,$x10,$key_ # off-load round[4] ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ ?vperm v26,v26,v27,$keyperm ++ lvx v29,$x40,$key1 ++ ?vperm v27,v27,v28,$keyperm ++ lvx v30,$x50,$key1 ++ ?vperm v28,v28,v29,$keyperm ++ lvx v31,$x60,$key1 ++ ?vperm v29,v29,v30,$keyperm ++ lvx $twk5,$x70,$key1 # borrow $twk5 ++ ?vperm v30,v30,v31,$keyperm ++ lvx v24,$x00,$key_ # pre-load round[1] ++ ?vperm v31,v31,$twk5,$keyperm ++ lvx v25,$x10,$key_ # pre-load round[2] ++ ++ vperm $in0,$inout,$inptail,$inpperm ++ subi $inp,$inp,31 # undo "caller" ++ vxor $twk0,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vand $tmp,$tmp,$eighty7 ++ vxor $out0,$in0,$twk0 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in1,$x10,$inp ++ vxor $twk1,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in1,$in1,$in1,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out1,$in1,$twk1 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in2,$x20,$inp ++ andi. $taillen,$len,15 ++ vxor $twk2,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in2,$in2,$in2,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out2,$in2,$twk2 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in3,$x30,$inp ++ sub $len,$len,$taillen ++ vxor $twk3,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in3,$in3,$in3,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out3,$in3,$twk3 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in4,$x40,$inp ++ subi $len,$len,0x60 ++ vxor $twk4,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in4,$in4,$in4,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out4,$in4,$twk4 ++ vxor $tweak,$tweak,$tmp ++ ++ lvx_u $in5,$x50,$inp ++ addi $inp,$inp,0x60 ++ vxor $twk5,$tweak,$rndkey0 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ le?vperm $in5,$in5,$in5,$leperm ++ vand $tmp,$tmp,$eighty7 ++ vxor $out5,$in5,$twk5 ++ vxor $tweak,$tweak,$tmp ++ ++ vxor v31,v31,$rndkey0 ++ mtctr $rounds ++ b Loop_xts_dec6x ++ ++.align 5 ++Loop_xts_dec6x: ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_xts_dec6x ++ ++ subic $len,$len,96 # $len-=96 ++ vxor $in0,$twk0,v31 # xor with last round key ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk0,$tweak,$rndkey0 ++ vaddubm $tweak,$tweak,$tweak ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vsldoi $tmp,$tmp,$tmp,15 ++ vncipher $out4,$out4,v24 ++ vncipher $out5,$out5,v24 ++ ++ subfe. r0,r0,r0 # borrow?-1:0 ++ vand $tmp,$tmp,$eighty7 ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vxor $tweak,$tweak,$tmp ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vxor $in1,$twk1,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk1,$tweak,$rndkey0 ++ vncipher $out4,$out4,v25 ++ vncipher $out5,$out5,v25 ++ ++ and r0,r0,$len ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vncipher $out0,$out0,v26 ++ vncipher $out1,$out1,v26 ++ vand $tmp,$tmp,$eighty7 ++ vncipher $out2,$out2,v26 ++ vncipher $out3,$out3,v26 ++ vxor $tweak,$tweak,$tmp ++ vncipher $out4,$out4,v26 ++ vncipher $out5,$out5,v26 ++ ++ add $inp,$inp,r0 # $inp is adjusted in such ++ # way that at exit from the ++ # loop inX-in5 are loaded ++ # with last "words" ++ vxor $in2,$twk2,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk2,$tweak,$rndkey0 ++ vaddubm $tweak,$tweak,$tweak ++ vncipher $out0,$out0,v27 ++ vncipher $out1,$out1,v27 ++ vsldoi $tmp,$tmp,$tmp,15 ++ vncipher $out2,$out2,v27 ++ vncipher $out3,$out3,v27 ++ vand $tmp,$tmp,$eighty7 ++ vncipher $out4,$out4,v27 ++ vncipher $out5,$out5,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vxor $tweak,$tweak,$tmp ++ vncipher $out0,$out0,v28 ++ vncipher $out1,$out1,v28 ++ vxor $in3,$twk3,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk3,$tweak,$rndkey0 ++ vncipher $out2,$out2,v28 ++ vncipher $out3,$out3,v28 ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vncipher $out4,$out4,v28 ++ vncipher $out5,$out5,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ vand $tmp,$tmp,$eighty7 ++ ++ vncipher $out0,$out0,v29 ++ vncipher $out1,$out1,v29 ++ vxor $tweak,$tweak,$tmp ++ vncipher $out2,$out2,v29 ++ vncipher $out3,$out3,v29 ++ vxor $in4,$twk4,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk4,$tweak,$rndkey0 ++ vncipher $out4,$out4,v29 ++ vncipher $out5,$out5,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ ++ vncipher $out0,$out0,v30 ++ vncipher $out1,$out1,v30 ++ vand $tmp,$tmp,$eighty7 ++ vncipher $out2,$out2,v30 ++ vncipher $out3,$out3,v30 ++ vxor $tweak,$tweak,$tmp ++ vncipher $out4,$out4,v30 ++ vncipher $out5,$out5,v30 ++ vxor $in5,$twk5,v31 ++ vsrab $tmp,$tweak,$seven # next tweak value ++ vxor $twk5,$tweak,$rndkey0 ++ ++ vncipherlast $out0,$out0,$in0 ++ lvx_u $in0,$x00,$inp # load next input block ++ vaddubm $tweak,$tweak,$tweak ++ vsldoi $tmp,$tmp,$tmp,15 ++ vncipherlast $out1,$out1,$in1 ++ lvx_u $in1,$x10,$inp ++ vncipherlast $out2,$out2,$in2 ++ le?vperm $in0,$in0,$in0,$leperm ++ lvx_u $in2,$x20,$inp ++ vand $tmp,$tmp,$eighty7 ++ vncipherlast $out3,$out3,$in3 ++ le?vperm $in1,$in1,$in1,$leperm ++ lvx_u $in3,$x30,$inp ++ vncipherlast $out4,$out4,$in4 ++ le?vperm $in2,$in2,$in2,$leperm ++ lvx_u $in4,$x40,$inp ++ vxor $tweak,$tweak,$tmp ++ vncipherlast $out5,$out5,$in5 ++ le?vperm $in3,$in3,$in3,$leperm ++ lvx_u $in5,$x50,$inp ++ addi $inp,$inp,0x60 ++ le?vperm $in4,$in4,$in4,$leperm ++ le?vperm $in5,$in5,$in5,$leperm ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk0 ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ vxor $out1,$in1,$twk1 ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ vxor $out2,$in2,$twk2 ++ le?vperm $out4,$out4,$out4,$leperm ++ stvx_u $out3,$x30,$out ++ vxor $out3,$in3,$twk3 ++ le?vperm $out5,$out5,$out5,$leperm ++ stvx_u $out4,$x40,$out ++ vxor $out4,$in4,$twk4 ++ stvx_u $out5,$x50,$out ++ vxor $out5,$in5,$twk5 ++ addi $out,$out,0x60 ++ ++ mtctr $rounds ++ beq Loop_xts_dec6x # did $len-=96 borrow? ++ ++ addic. $len,$len,0x60 ++ beq Lxts_dec6x_zero ++ cmpwi $len,0x20 ++ blt Lxts_dec6x_one ++ nop ++ beq Lxts_dec6x_two ++ cmpwi $len,0x40 ++ blt Lxts_dec6x_three ++ nop ++ beq Lxts_dec6x_four ++ ++Lxts_dec6x_five: ++ vxor $out0,$in1,$twk0 ++ vxor $out1,$in2,$twk1 ++ vxor $out2,$in3,$twk2 ++ vxor $out3,$in4,$twk3 ++ vxor $out4,$in5,$twk4 ++ ++ bl _aesp8_xts_dec5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk5 # unused tweak ++ vxor $twk1,$tweak,$rndkey0 ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk1 ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ le?vperm $out4,$out4,$out4,$leperm ++ stvx_u $out3,$x30,$out ++ stvx_u $out4,$x40,$out ++ addi $out,$out,0x50 ++ bne Lxts_dec6x_steal ++ b Lxts_dec6x_done ++ ++.align 4 ++Lxts_dec6x_four: ++ vxor $out0,$in2,$twk0 ++ vxor $out1,$in3,$twk1 ++ vxor $out2,$in4,$twk2 ++ vxor $out3,$in5,$twk3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_dec5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk4 # unused tweak ++ vmr $twk1,$twk5 ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk5 ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ le?vperm $out3,$out3,$out3,$leperm ++ stvx_u $out2,$x20,$out ++ stvx_u $out3,$x30,$out ++ addi $out,$out,0x40 ++ bne Lxts_dec6x_steal ++ b Lxts_dec6x_done ++ ++.align 4 ++Lxts_dec6x_three: ++ vxor $out0,$in3,$twk0 ++ vxor $out1,$in4,$twk1 ++ vxor $out2,$in5,$twk2 ++ vxor $out3,$out3,$out3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_dec5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk3 # unused tweak ++ vmr $twk1,$twk4 ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk4 ++ le?vperm $out2,$out2,$out2,$leperm ++ stvx_u $out1,$x10,$out ++ stvx_u $out2,$x20,$out ++ addi $out,$out,0x30 ++ bne Lxts_dec6x_steal ++ b Lxts_dec6x_done ++ ++.align 4 ++Lxts_dec6x_two: ++ vxor $out0,$in4,$twk0 ++ vxor $out1,$in5,$twk1 ++ vxor $out2,$out2,$out2 ++ vxor $out3,$out3,$out3 ++ vxor $out4,$out4,$out4 ++ ++ bl _aesp8_xts_dec5x ++ ++ le?vperm $out0,$out0,$out0,$leperm ++ vmr $twk0,$twk2 # unused tweak ++ vmr $twk1,$twk3 ++ le?vperm $out1,$out1,$out1,$leperm ++ stvx_u $out0,$x00,$out # store output ++ vxor $out0,$in0,$twk3 ++ stvx_u $out1,$x10,$out ++ addi $out,$out,0x20 ++ bne Lxts_dec6x_steal ++ b Lxts_dec6x_done ++ ++.align 4 ++Lxts_dec6x_one: ++ vxor $out0,$in5,$twk0 ++ nop ++Loop_xts_dec1x: ++ vncipher $out0,$out0,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out0,$out0,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Loop_xts_dec1x ++ ++ subi r0,$taillen,1 ++ vncipher $out0,$out0,v24 ++ ++ andi. r0,r0,16 ++ cmpwi $taillen,0 ++ vncipher $out0,$out0,v25 ++ ++ sub $inp,$inp,r0 ++ vncipher $out0,$out0,v26 ++ ++ lvx_u $in0,0,$inp ++ vncipher $out0,$out0,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vncipher $out0,$out0,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ ++ vncipher $out0,$out0,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vxor $twk0,$twk0,v31 ++ ++ le?vperm $in0,$in0,$in0,$leperm ++ vncipher $out0,$out0,v30 ++ ++ mtctr $rounds ++ vncipherlast $out0,$out0,$twk0 ++ ++ vmr $twk0,$twk1 # unused tweak ++ vmr $twk1,$twk2 ++ le?vperm $out0,$out0,$out0,$leperm ++ stvx_u $out0,$x00,$out # store output ++ addi $out,$out,0x10 ++ vxor $out0,$in0,$twk2 ++ bne Lxts_dec6x_steal ++ b Lxts_dec6x_done ++ ++.align 4 ++Lxts_dec6x_zero: ++ cmpwi $taillen,0 ++ beq Lxts_dec6x_done ++ ++ lvx_u $in0,0,$inp ++ le?vperm $in0,$in0,$in0,$leperm ++ vxor $out0,$in0,$twk1 ++Lxts_dec6x_steal: ++ vncipher $out0,$out0,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out0,$out0,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz Lxts_dec6x_steal ++ ++ add $inp,$inp,$taillen ++ vncipher $out0,$out0,v24 ++ ++ cmpwi $taillen,0 ++ vncipher $out0,$out0,v25 ++ ++ lvx_u $in0,0,$inp ++ vncipher $out0,$out0,v26 ++ ++ lvsr $inpperm,0,$taillen # $in5 is no more ++ vncipher $out0,$out0,v27 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vncipher $out0,$out0,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ ++ vncipher $out0,$out0,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vxor $twk1,$twk1,v31 ++ ++ le?vperm $in0,$in0,$in0,$leperm ++ vncipher $out0,$out0,v30 ++ ++ vperm $in0,$in0,$in0,$inpperm ++ vncipherlast $tmp,$out0,$twk1 ++ ++ le?vperm $out0,$tmp,$tmp,$leperm ++ le?stvx_u $out0,0,$out ++ be?stvx_u $tmp,0,$out ++ ++ vxor $out0,$out0,$out0 ++ vspltisb $out1,-1 ++ vperm $out0,$out0,$out1,$inpperm ++ vsel $out0,$in0,$tmp,$out0 ++ vxor $out0,$out0,$twk0 ++ ++ subi r30,$out,1 ++ mtctr $taillen ++Loop_xts_dec6x_steal: ++ lbzu r0,1(r30) ++ stb r0,16(r30) ++ bdnz Loop_xts_dec6x_steal ++ ++ li $taillen,0 ++ mtctr $rounds ++ b Loop_xts_dec1x # one more time... ++ ++.align 4 ++Lxts_dec6x_done: ++ ${UCMP}i $ivp,0 ++ beq Lxts_dec6x_ret ++ ++ vxor $tweak,$twk0,$rndkey0 ++ le?vperm $tweak,$tweak,$tweak,$leperm ++ stvx_u $tweak,0,$ivp ++ ++Lxts_dec6x_ret: ++ mtlr r11 ++ li r10,`$FRAME+15` ++ li r11,`$FRAME+31` ++ stvx $seven,r10,$sp # wipe copies of round keys ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ stvx $seven,r10,$sp ++ addi r10,r10,32 ++ stvx $seven,r11,$sp ++ addi r11,r11,32 ++ ++ mtspr 256,$vrsave ++ lvx v20,r10,$sp # ABI says so ++ addi r10,r10,32 ++ lvx v21,r11,$sp ++ addi r11,r11,32 ++ lvx v22,r10,$sp ++ addi r10,r10,32 ++ lvx v23,r11,$sp ++ addi r11,r11,32 ++ lvx v24,r10,$sp ++ addi r10,r10,32 ++ lvx v25,r11,$sp ++ addi r11,r11,32 ++ lvx v26,r10,$sp ++ addi r10,r10,32 ++ lvx v27,r11,$sp ++ addi r11,r11,32 ++ lvx v28,r10,$sp ++ addi r10,r10,32 ++ lvx v29,r11,$sp ++ addi r11,r11,32 ++ lvx v30,r10,$sp ++ lvx v31,r11,$sp ++ $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) ++ $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) ++ $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) ++ $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) ++ $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) ++ $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) ++ addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` ++ blr ++ .long 0 ++ .byte 0,12,0x04,1,0x80,6,6,0 ++ .long 0 ++ ++.align 5 ++_aesp8_xts_dec5x: ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ lvx v24,$x20,$key_ # round[3] ++ addi $key_,$key_,0x20 ++ ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ lvx v25,$x10,$key_ # round[4] ++ bdnz _aesp8_xts_dec5x ++ ++ subi r0,$taillen,1 ++ vncipher $out0,$out0,v24 ++ vncipher $out1,$out1,v24 ++ vncipher $out2,$out2,v24 ++ vncipher $out3,$out3,v24 ++ vncipher $out4,$out4,v24 ++ ++ andi. r0,r0,16 ++ cmpwi $taillen,0 ++ vncipher $out0,$out0,v25 ++ vncipher $out1,$out1,v25 ++ vncipher $out2,$out2,v25 ++ vncipher $out3,$out3,v25 ++ vncipher $out4,$out4,v25 ++ vxor $twk0,$twk0,v31 ++ ++ sub $inp,$inp,r0 ++ vncipher $out0,$out0,v26 ++ vncipher $out1,$out1,v26 ++ vncipher $out2,$out2,v26 ++ vncipher $out3,$out3,v26 ++ vncipher $out4,$out4,v26 ++ vxor $in1,$twk1,v31 ++ ++ vncipher $out0,$out0,v27 ++ lvx_u $in0,0,$inp ++ vncipher $out1,$out1,v27 ++ vncipher $out2,$out2,v27 ++ vncipher $out3,$out3,v27 ++ vncipher $out4,$out4,v27 ++ vxor $in2,$twk2,v31 ++ ++ addi $key_,$sp,`$FRAME+15` # rewind $key_ ++ vncipher $out0,$out0,v28 ++ vncipher $out1,$out1,v28 ++ vncipher $out2,$out2,v28 ++ vncipher $out3,$out3,v28 ++ vncipher $out4,$out4,v28 ++ lvx v24,$x00,$key_ # re-pre-load round[1] ++ vxor $in3,$twk3,v31 ++ ++ vncipher $out0,$out0,v29 ++ le?vperm $in0,$in0,$in0,$leperm ++ vncipher $out1,$out1,v29 ++ vncipher $out2,$out2,v29 ++ vncipher $out3,$out3,v29 ++ vncipher $out4,$out4,v29 ++ lvx v25,$x10,$key_ # re-pre-load round[2] ++ vxor $in4,$twk4,v31 ++ ++ vncipher $out0,$out0,v30 ++ vncipher $out1,$out1,v30 ++ vncipher $out2,$out2,v30 ++ vncipher $out3,$out3,v30 ++ vncipher $out4,$out4,v30 ++ ++ vncipherlast $out0,$out0,$twk0 ++ vncipherlast $out1,$out1,$in1 ++ vncipherlast $out2,$out2,$in2 ++ vncipherlast $out3,$out3,$in3 ++ vncipherlast $out4,$out4,$in4 ++ mtctr $rounds ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,0,0 ++___ ++}} }}} ++ ++my $consts=1; ++foreach(split("\n",$code)) { ++ s/\`([^\`]*)\`/eval($1)/geo; ++ ++ # constants table endian-specific conversion ++ if ($consts && m/\.(long|byte)\s+(.+)\s+(\?[a-z]*)$/o) { ++ my $conv=$3; ++ my @bytes=(); ++ ++ # convert to endian-agnostic format ++ if ($1 eq "long") { ++ foreach (split(/,\s*/,$2)) { ++ my $l = /^0/?oct:int; ++ push @bytes,($l>>24)&0xff,($l>>16)&0xff,($l>>8)&0xff,$l&0xff; ++ } ++ } else { ++ @bytes = map(/^0/?oct:int,split(/,\s*/,$2)); ++ } ++ ++ # little-endian conversion ++ if ($flavour =~ /le$/o) { ++ SWITCH: for($conv) { ++ /\?inv/ && do { @bytes=map($_^0xf,@bytes); last; }; ++ /\?rev/ && do { @bytes=reverse(@bytes); last; }; ++ } ++ } ++ ++ #emit ++ print ".byte\t",join(',',map (sprintf("0x%02x",$_),@bytes)),"\n"; ++ next; ++ } ++ $consts=0 if (m/Lconsts:/o); # end of table ++ ++ # instructions prefixed with '?' are endian-specific and need ++ # to be adjusted accordingly... ++ if ($flavour =~ /le$/o) { # little-endian ++ s/le\?//o or ++ s/be\?/#be#/o or ++ s/\?lvsr/lvsl/o or ++ s/\?lvsl/lvsr/o or ++ s/\?(vperm\s+v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+)/$1$3$2$4/o or ++ s/\?(vsldoi\s+v[0-9]+,\s*)(v[0-9]+,)\s*(v[0-9]+,\s*)([0-9]+)/$1$3$2 16-$4/o or ++ s/\?(vspltw\s+v[0-9]+,\s*)(v[0-9]+,)\s*([0-9])/$1$2 3-$3/o; ++ } else { # big-endian ++ s/le\?/#le#/o or ++ s/be\?//o or ++ s/\?([a-z]+)/$1/o; ++ } ++ ++ print $_,"\n"; ++} ++ ++close STDOUT or die "error closing STDOUT: $!"; +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h +@@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return + inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); } + #endif + ++#elif defined(OPENSSL_PPC64LE) ++#define HWAES ++ ++OPENSSL_INLINE int hwaes_capable(void) { ++ return CRYPTO_is_PPC64LE_vcrypto_capable(); ++} + #endif + + #endif // !NO_ASM +@@ -501,6 +507,13 @@ void aes_gcm_dec_kernel(const uint8_t *i + const u128 Htable[16]); + #endif + ++#elif defined(OPENSSL_PPC64LE) ++#define GHASH_ASM_PPC64LE ++#define GCM_FUNCREF ++void gcm_init_p8(u128 Htable[16], const uint64_t Xi[2]); ++void gcm_gmult_p8(uint8_t Xi[16], const u128 Htable[16]); ++void gcm_ghash_p8(uint8_t Xi[16], const u128 Htable[16], const uint8_t *inp, ++ size_t len); + #endif + #endif // OPENSSL_NO_ASM + +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc +@@ -105,6 +105,7 @@ + #include "self_check/fips.cc.inc" + #include "self_check/self_check.cc.inc" + #include "service_indicator/service_indicator.cc.inc" ++#include "sha/sha1-altivec.cc.inc" + #include "sha/sha1.cc.inc" + #include "sha/sha256.cc.inc" + #include "sha/sha512.cc.inc" +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc +@@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) { + } + + int bn_resize_words(BIGNUM *bn, size_t words) { ++#if defined(OPENSSL_PPC64LE) ++ // This is a workaround for a miscompilation bug in Clang 7.0.1 on POWER. ++ // The unittests catch the miscompilation, if it occurs, and it manifests ++ // as a crash in |bn_fits_in_words|. ++ // ++ // The bug only triggers if building in FIPS mode and with -O3. Clang 8.0.1 ++ // has the same bug but this workaround is not effective there---I've not ++ // been able to find a workaround for 8.0.1. ++ // ++ // At the time of writing (2019-08-08), Clang git does *not* have this bug ++ // and does not need this workaroud. The current git version should go on to ++ // be Clang 10 thus, once we can depend on that, this can be removed. ++ if (value_barrier_w((size_t)bn->width == words)) { ++ return 1; ++ } ++#endif ++ + if ((size_t)bn->width <= words) { + if (!bn_wexpand(bn, words)) { + return 0; +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc +@@ -1234,6 +1234,8 @@ int EVP_has_aes_hardware(void) { + return hwaes_capable() && crypto_gcm_clmul_enabled(); + #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) + return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable(); ++#elif defined(OPENSSL_PPC64LE) ++ return CRYPTO_is_PPC64LE_vcrypto_capable(); + #else + return 0; + #endif +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl +@@ -0,0 +1,671 @@ ++#! /usr/bin/env perl ++# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++# ++# ==================================================================== ++# Written by Andy Polyakov for the OpenSSL ++# project. The module is, however, dual licensed under OpenSSL and ++# CRYPTOGAMS licenses depending on where you obtain it. For further ++# details see http://www.openssl.org/~appro/cryptogams/. ++# ==================================================================== ++# ++# GHASH for for PowerISA v2.07. ++# ++# July 2014 ++# ++# Accurate performance measurements are problematic, because it's ++# always virtualized setup with possibly throttled processor. ++# Relative comparison is therefore more informative. This initial ++# version is ~2.1x slower than hardware-assisted AES-128-CTR, ~12x ++# faster than "4-bit" integer-only compiler-generated 64-bit code. ++# "Initial version" means that there is room for futher improvement. ++ ++# May 2016 ++# ++# 2x aggregated reduction improves performance by 50% (resulting ++# performance on POWER8 is 1 cycle per processed byte), and 4x ++# aggregated reduction - by 170% or 2.7x (resulting in 0.55 cpb). ++ ++$flavour=shift; ++$output =shift; ++ ++if ($flavour =~ /64/) { ++ $SIZE_T=8; ++ $LRSAVE=2*$SIZE_T; ++ $STU="stdu"; ++ $POP="ld"; ++ $PUSH="std"; ++ $UCMP="cmpld"; ++ $SHRI="srdi"; ++} elsif ($flavour =~ /32/) { ++ $SIZE_T=4; ++ $LRSAVE=$SIZE_T; ++ $STU="stwu"; ++ $POP="lwz"; ++ $PUSH="stw"; ++ $UCMP="cmplw"; ++ $SHRI="srwi"; ++} else { die "nonsense $flavour"; } ++ ++$sp="r1"; ++$FRAME=6*$SIZE_T+13*16; # 13*16 is for v20-v31 offload ++ ++$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ++( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or ++( $xlate="${dir}../../../perlasm/ppc-xlate.pl" and -f $xlate) or ++die "can't locate ppc-xlate.pl"; ++ ++open OUT,"| $^X \"$xlate\" $flavour \"$output\"" || die "can't call $xlate: $!"; ++*STDOUT=*OUT; ++ ++my ($Xip,$Htbl,$inp,$len)=map("r$_",(3..6)); # argument block ++ ++my ($Xl,$Xm,$Xh,$IN)=map("v$_",(0..3)); ++my ($zero,$t0,$t1,$t2,$xC2,$H,$Hh,$Hl,$lemask)=map("v$_",(4..12)); ++my ($Xl1,$Xm1,$Xh1,$IN1,$H2,$H2h,$H2l)=map("v$_",(13..19)); ++my $vrsave="r12"; ++ ++$code=<<___; ++.machine "any" ++ ++.text ++ ++.globl .gcm_init_p8 ++.align 5 ++.gcm_init_p8: ++ li r0,-4096 ++ li r8,0x10 ++ mfspr $vrsave,256 ++ li r9,0x20 ++ mtspr 256,r0 ++ li r10,0x30 ++ lvx_u $H,0,r4 # load H ++ ++ vspltisb $xC2,-16 # 0xf0 ++ vspltisb $t0,1 # one ++ vaddubm $xC2,$xC2,$xC2 # 0xe0 ++ vxor $zero,$zero,$zero ++ vor $xC2,$xC2,$t0 # 0xe1 ++ vsldoi $xC2,$xC2,$zero,15 # 0xe1... ++ vsldoi $t1,$zero,$t0,1 # ...1 ++ vaddubm $xC2,$xC2,$xC2 # 0xc2... ++ vspltisb $t2,7 ++ vor $xC2,$xC2,$t1 # 0xc2....01 ++ vspltb $t1,$H,0 # most significant byte ++ vsl $H,$H,$t0 # H<<=1 ++ vsrab $t1,$t1,$t2 # broadcast carry bit ++ vand $t1,$t1,$xC2 ++ vxor $IN,$H,$t1 # twisted H ++ ++ vsldoi $H,$IN,$IN,8 # twist even more ... ++ vsldoi $xC2,$zero,$xC2,8 # 0xc2.0 ++ vsldoi $Hl,$zero,$H,8 # ... and split ++ vsldoi $Hh,$H,$zero,8 ++ ++ stvx_u $xC2,0,r3 # save pre-computed table ++ stvx_u $Hl,r8,r3 ++ li r8,0x40 ++ stvx_u $H, r9,r3 ++ li r9,0x50 ++ stvx_u $Hh,r10,r3 ++ li r10,0x60 ++ ++ vpmsumd $Xl,$IN,$Hl # H.lo·H.lo ++ vpmsumd $Xm,$IN,$H # H.hi·H.lo+H.lo·H.hi ++ vpmsumd $Xh,$IN,$Hh # H.hi·H.hi ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ vxor $t1,$t1,$Xh ++ vxor $IN1,$Xl,$t1 ++ ++ vsldoi $H2,$IN1,$IN1,8 ++ vsldoi $H2l,$zero,$H2,8 ++ vsldoi $H2h,$H2,$zero,8 ++ ++ stvx_u $H2l,r8,r3 # save H^2 ++ li r8,0x70 ++ stvx_u $H2,r9,r3 ++ li r9,0x80 ++ stvx_u $H2h,r10,r3 ++ li r10,0x90 ++___ ++{ ++my ($t4,$t5,$t6) = ($Hl,$H,$Hh); ++$code.=<<___; ++ vpmsumd $Xl,$IN,$H2l # H.lo·H^2.lo ++ vpmsumd $Xl1,$IN1,$H2l # H^2.lo·H^2.lo ++ vpmsumd $Xm,$IN,$H2 # H.hi·H^2.lo+H.lo·H^2.hi ++ vpmsumd $Xm1,$IN1,$H2 # H^2.hi·H^2.lo+H^2.lo·H^2.hi ++ vpmsumd $Xh,$IN,$H2h # H.hi·H^2.hi ++ vpmsumd $Xh1,$IN1,$H2h # H^2.hi·H^2.hi ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ vpmsumd $t6,$Xl1,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vsldoi $t4,$Xm1,$zero,8 ++ vsldoi $t5,$zero,$Xm1,8 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ vxor $Xl1,$Xl1,$t4 ++ vxor $Xh1,$Xh1,$t5 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vsldoi $Xl1,$Xl1,$Xl1,8 ++ vxor $Xl,$Xl,$t2 ++ vxor $Xl1,$Xl1,$t6 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vsldoi $t5,$Xl1,$Xl1,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ vpmsumd $Xl1,$Xl1,$xC2 ++ vxor $t1,$t1,$Xh ++ vxor $t5,$t5,$Xh1 ++ vxor $Xl,$Xl,$t1 ++ vxor $Xl1,$Xl1,$t5 ++ ++ vsldoi $H,$Xl,$Xl,8 ++ vsldoi $H2,$Xl1,$Xl1,8 ++ vsldoi $Hl,$zero,$H,8 ++ vsldoi $Hh,$H,$zero,8 ++ vsldoi $H2l,$zero,$H2,8 ++ vsldoi $H2h,$H2,$zero,8 ++ ++ stvx_u $Hl,r8,r3 # save H^3 ++ li r8,0xa0 ++ stvx_u $H,r9,r3 ++ li r9,0xb0 ++ stvx_u $Hh,r10,r3 ++ li r10,0xc0 ++ stvx_u $H2l,r8,r3 # save H^4 ++ stvx_u $H2,r9,r3 ++ stvx_u $H2h,r10,r3 ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,2,0 ++ .long 0 ++.size .gcm_init_p8,.-.gcm_init_p8 ++___ ++} ++$code.=<<___; ++.globl .gcm_gmult_p8 ++.align 5 ++.gcm_gmult_p8: ++ lis r0,0xfff8 ++ li r8,0x10 ++ mfspr $vrsave,256 ++ li r9,0x20 ++ mtspr 256,r0 ++ li r10,0x30 ++ lvx_u $IN,0,$Xip # load Xi ++ ++ lvx_u $Hl,r8,$Htbl # load pre-computed table ++ le?lvsl $lemask,r0,r0 ++ lvx_u $H, r9,$Htbl ++ le?vspltisb $t0,0x07 ++ lvx_u $Hh,r10,$Htbl ++ le?vxor $lemask,$lemask,$t0 ++ lvx_u $xC2,0,$Htbl ++ le?vperm $IN,$IN,$IN,$lemask ++ vxor $zero,$zero,$zero ++ ++ vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo ++ vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi ++ vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ vxor $t1,$t1,$Xh ++ vxor $Xl,$Xl,$t1 ++ ++ le?vperm $Xl,$Xl,$Xl,$lemask ++ stvx_u $Xl,0,$Xip # write out Xi ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,2,0 ++ .long 0 ++.size .gcm_gmult_p8,.-.gcm_gmult_p8 ++ ++.globl .gcm_ghash_p8 ++.align 5 ++.gcm_ghash_p8: ++ li r0,-4096 ++ li r8,0x10 ++ mfspr $vrsave,256 ++ li r9,0x20 ++ mtspr 256,r0 ++ li r10,0x30 ++ lvx_u $Xl,0,$Xip # load Xi ++ ++ lvx_u $Hl,r8,$Htbl # load pre-computed table ++ li r8,0x40 ++ le?lvsl $lemask,r0,r0 ++ lvx_u $H, r9,$Htbl ++ li r9,0x50 ++ le?vspltisb $t0,0x07 ++ lvx_u $Hh,r10,$Htbl ++ li r10,0x60 ++ le?vxor $lemask,$lemask,$t0 ++ lvx_u $xC2,0,$Htbl ++ le?vperm $Xl,$Xl,$Xl,$lemask ++ vxor $zero,$zero,$zero ++ ++ ${UCMP}i $len,64 ++ bge Lgcm_ghash_p8_4x ++ ++ lvx_u $IN,0,$inp ++ addi $inp,$inp,16 ++ subic. $len,$len,16 ++ le?vperm $IN,$IN,$IN,$lemask ++ vxor $IN,$IN,$Xl ++ beq Lshort ++ ++ lvx_u $H2l,r8,$Htbl # load H^2 ++ li r8,16 ++ lvx_u $H2, r9,$Htbl ++ add r9,$inp,$len # end of input ++ lvx_u $H2h,r10,$Htbl ++ be?b Loop_2x ++ ++.align 5 ++Loop_2x: ++ lvx_u $IN1,0,$inp ++ le?vperm $IN1,$IN1,$IN1,$lemask ++ ++ subic $len,$len,32 ++ vpmsumd $Xl,$IN,$H2l # H^2.lo·Xi.lo ++ vpmsumd $Xl1,$IN1,$Hl # H.lo·Xi+1.lo ++ subfe r0,r0,r0 # borrow?-1:0 ++ vpmsumd $Xm,$IN,$H2 # H^2.hi·Xi.lo+H^2.lo·Xi.hi ++ vpmsumd $Xm1,$IN1,$H # H.hi·Xi+1.lo+H.lo·Xi+1.hi ++ and r0,r0,$len ++ vpmsumd $Xh,$IN,$H2h # H^2.hi·Xi.hi ++ vpmsumd $Xh1,$IN1,$Hh # H.hi·Xi+1.hi ++ add $inp,$inp,r0 ++ ++ vxor $Xl,$Xl,$Xl1 ++ vxor $Xm,$Xm,$Xm1 ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xh,$Xh,$Xh1 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ lvx_u $IN,r8,$inp ++ addi $inp,$inp,32 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ le?vperm $IN,$IN,$IN,$lemask ++ vxor $t1,$t1,$Xh ++ vxor $IN,$IN,$t1 ++ vxor $IN,$IN,$Xl ++ $UCMP r9,$inp ++ bgt Loop_2x # done yet? ++ ++ cmplwi $len,0 ++ bne Leven ++ ++Lshort: ++ vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo ++ vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi ++ vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ vxor $t1,$t1,$Xh ++ ++Leven: ++ vxor $Xl,$Xl,$t1 ++ le?vperm $Xl,$Xl,$Xl,$lemask ++ stvx_u $Xl,0,$Xip # write out Xi ++ ++ mtspr 256,$vrsave ++ blr ++ .long 0 ++ .byte 0,12,0x14,0,0,0,4,0 ++ .long 0 ++___ ++{ ++my ($Xl3,$Xm2,$IN2,$H3l,$H3,$H3h, ++ $Xh3,$Xm3,$IN3,$H4l,$H4,$H4h) = map("v$_",(20..31)); ++my $IN0=$IN; ++my ($H21l,$H21h,$loperm,$hiperm) = ($Hl,$Hh,$H2l,$H2h); ++ ++$code.=<<___; ++.align 5 ++.gcm_ghash_p8_4x: ++Lgcm_ghash_p8_4x: ++ $STU $sp,-$FRAME($sp) ++ li r10,`15+6*$SIZE_T` ++ li r11,`31+6*$SIZE_T` ++ stvx v20,r10,$sp ++ addi r10,r10,32 ++ stvx v21,r11,$sp ++ addi r11,r11,32 ++ stvx v22,r10,$sp ++ addi r10,r10,32 ++ stvx v23,r11,$sp ++ addi r11,r11,32 ++ stvx v24,r10,$sp ++ addi r10,r10,32 ++ stvx v25,r11,$sp ++ addi r11,r11,32 ++ stvx v26,r10,$sp ++ addi r10,r10,32 ++ stvx v27,r11,$sp ++ addi r11,r11,32 ++ stvx v28,r10,$sp ++ addi r10,r10,32 ++ stvx v29,r11,$sp ++ addi r11,r11,32 ++ stvx v30,r10,$sp ++ li r10,0x60 ++ stvx v31,r11,$sp ++ li r0,-1 ++ stw $vrsave,`$FRAME-4`($sp) # save vrsave ++ mtspr 256,r0 # preserve all AltiVec registers ++ ++ lvsl $t0,0,r8 # 0x0001..0e0f ++ #lvx_u $H2l,r8,$Htbl # load H^2 ++ li r8,0x70 ++ lvx_u $H2, r9,$Htbl ++ li r9,0x80 ++ vspltisb $t1,8 # 0x0808..0808 ++ #lvx_u $H2h,r10,$Htbl ++ li r10,0x90 ++ lvx_u $H3l,r8,$Htbl # load H^3 ++ li r8,0xa0 ++ lvx_u $H3, r9,$Htbl ++ li r9,0xb0 ++ lvx_u $H3h,r10,$Htbl ++ li r10,0xc0 ++ lvx_u $H4l,r8,$Htbl # load H^4 ++ li r8,0x10 ++ lvx_u $H4, r9,$Htbl ++ li r9,0x20 ++ lvx_u $H4h,r10,$Htbl ++ li r10,0x30 ++ ++ vsldoi $t2,$zero,$t1,8 # 0x0000..0808 ++ vaddubm $hiperm,$t0,$t2 # 0x0001..1617 ++ vaddubm $loperm,$t1,$hiperm # 0x0809..1e1f ++ ++ $SHRI $len,$len,4 # this allows to use sign bit ++ # as carry ++ lvx_u $IN0,0,$inp # load input ++ lvx_u $IN1,r8,$inp ++ subic. $len,$len,8 ++ lvx_u $IN2,r9,$inp ++ lvx_u $IN3,r10,$inp ++ addi $inp,$inp,0x40 ++ le?vperm $IN0,$IN0,$IN0,$lemask ++ le?vperm $IN1,$IN1,$IN1,$lemask ++ le?vperm $IN2,$IN2,$IN2,$lemask ++ le?vperm $IN3,$IN3,$IN3,$lemask ++ ++ vxor $Xh,$IN0,$Xl ++ ++ vpmsumd $Xl1,$IN1,$H3l ++ vpmsumd $Xm1,$IN1,$H3 ++ vpmsumd $Xh1,$IN1,$H3h ++ ++ vperm $H21l,$H2,$H,$hiperm ++ vperm $t0,$IN2,$IN3,$loperm ++ vperm $H21h,$H2,$H,$loperm ++ vperm $t1,$IN2,$IN3,$hiperm ++ vpmsumd $Xm2,$IN2,$H2 # H^2.lo·Xi+2.hi+H^2.hi·Xi+2.lo ++ vpmsumd $Xl3,$t0,$H21l # H^2.lo·Xi+2.lo+H.lo·Xi+3.lo ++ vpmsumd $Xm3,$IN3,$H # H.hi·Xi+3.lo +H.lo·Xi+3.hi ++ vpmsumd $Xh3,$t1,$H21h # H^2.hi·Xi+2.hi+H.hi·Xi+3.hi ++ ++ vxor $Xm2,$Xm2,$Xm1 ++ vxor $Xl3,$Xl3,$Xl1 ++ vxor $Xm3,$Xm3,$Xm2 ++ vxor $Xh3,$Xh3,$Xh1 ++ ++ blt Ltail_4x ++ ++Loop_4x: ++ lvx_u $IN0,0,$inp ++ lvx_u $IN1,r8,$inp ++ subic. $len,$len,4 ++ lvx_u $IN2,r9,$inp ++ lvx_u $IN3,r10,$inp ++ addi $inp,$inp,0x40 ++ le?vperm $IN1,$IN1,$IN1,$lemask ++ le?vperm $IN2,$IN2,$IN2,$lemask ++ le?vperm $IN3,$IN3,$IN3,$lemask ++ le?vperm $IN0,$IN0,$IN0,$lemask ++ ++ vpmsumd $Xl,$Xh,$H4l # H^4.lo·Xi.lo ++ vpmsumd $Xm,$Xh,$H4 # H^4.hi·Xi.lo+H^4.lo·Xi.hi ++ vpmsumd $Xh,$Xh,$H4h # H^4.hi·Xi.hi ++ vpmsumd $Xl1,$IN1,$H3l ++ vpmsumd $Xm1,$IN1,$H3 ++ vpmsumd $Xh1,$IN1,$H3h ++ ++ vxor $Xl,$Xl,$Xl3 ++ vxor $Xm,$Xm,$Xm3 ++ vxor $Xh,$Xh,$Xh3 ++ vperm $t0,$IN2,$IN3,$loperm ++ vperm $t1,$IN2,$IN3,$hiperm ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ vpmsumd $Xl3,$t0,$H21l # H.lo·Xi+3.lo +H^2.lo·Xi+2.lo ++ vpmsumd $Xh3,$t1,$H21h # H.hi·Xi+3.hi +H^2.hi·Xi+2.hi ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xm2,$IN2,$H2 # H^2.hi·Xi+2.lo+H^2.lo·Xi+2.hi ++ vpmsumd $Xm3,$IN3,$H # H.hi·Xi+3.lo +H.lo·Xi+3.hi ++ vpmsumd $Xl,$Xl,$xC2 ++ ++ vxor $Xl3,$Xl3,$Xl1 ++ vxor $Xh3,$Xh3,$Xh1 ++ vxor $Xh,$Xh,$IN0 ++ vxor $Xm2,$Xm2,$Xm1 ++ vxor $Xh,$Xh,$t1 ++ vxor $Xm3,$Xm3,$Xm2 ++ vxor $Xh,$Xh,$Xl ++ bge Loop_4x ++ ++Ltail_4x: ++ vpmsumd $Xl,$Xh,$H4l # H^4.lo·Xi.lo ++ vpmsumd $Xm,$Xh,$H4 # H^4.hi·Xi.lo+H^4.lo·Xi.hi ++ vpmsumd $Xh,$Xh,$H4h # H^4.hi·Xi.hi ++ ++ vxor $Xl,$Xl,$Xl3 ++ vxor $Xm,$Xm,$Xm3 ++ ++ vpmsumd $t2,$Xl,$xC2 # 1st reduction phase ++ ++ vsldoi $t0,$Xm,$zero,8 ++ vsldoi $t1,$zero,$Xm,8 ++ vxor $Xh,$Xh,$Xh3 ++ vxor $Xl,$Xl,$t0 ++ vxor $Xh,$Xh,$t1 ++ ++ vsldoi $Xl,$Xl,$Xl,8 ++ vxor $Xl,$Xl,$t2 ++ ++ vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase ++ vpmsumd $Xl,$Xl,$xC2 ++ vxor $t1,$t1,$Xh ++ vxor $Xl,$Xl,$t1 ++ ++ addic. $len,$len,4 ++ beq Ldone_4x ++ ++ lvx_u $IN0,0,$inp ++ ${UCMP}i $len,2 ++ li $len,-4 ++ blt Lone ++ lvx_u $IN1,r8,$inp ++ beq Ltwo ++ ++Lthree: ++ lvx_u $IN2,r9,$inp ++ le?vperm $IN0,$IN0,$IN0,$lemask ++ le?vperm $IN1,$IN1,$IN1,$lemask ++ le?vperm $IN2,$IN2,$IN2,$lemask ++ ++ vxor $Xh,$IN0,$Xl ++ vmr $H4l,$H3l ++ vmr $H4, $H3 ++ vmr $H4h,$H3h ++ ++ vperm $t0,$IN1,$IN2,$loperm ++ vperm $t1,$IN1,$IN2,$hiperm ++ vpmsumd $Xm2,$IN1,$H2 # H^2.lo·Xi+1.hi+H^2.hi·Xi+1.lo ++ vpmsumd $Xm3,$IN2,$H # H.hi·Xi+2.lo +H.lo·Xi+2.hi ++ vpmsumd $Xl3,$t0,$H21l # H^2.lo·Xi+1.lo+H.lo·Xi+2.lo ++ vpmsumd $Xh3,$t1,$H21h # H^2.hi·Xi+1.hi+H.hi·Xi+2.hi ++ ++ vxor $Xm3,$Xm3,$Xm2 ++ b Ltail_4x ++ ++.align 4 ++Ltwo: ++ le?vperm $IN0,$IN0,$IN0,$lemask ++ le?vperm $IN1,$IN1,$IN1,$lemask ++ ++ vxor $Xh,$IN0,$Xl ++ vperm $t0,$zero,$IN1,$loperm ++ vperm $t1,$zero,$IN1,$hiperm ++ ++ vsldoi $H4l,$zero,$H2,8 ++ vmr $H4, $H2 ++ vsldoi $H4h,$H2,$zero,8 ++ ++ vpmsumd $Xl3,$t0, $H21l # H.lo·Xi+1.lo ++ vpmsumd $Xm3,$IN1,$H # H.hi·Xi+1.lo+H.lo·Xi+2.hi ++ vpmsumd $Xh3,$t1, $H21h # H.hi·Xi+1.hi ++ ++ b Ltail_4x ++ ++.align 4 ++Lone: ++ le?vperm $IN0,$IN0,$IN0,$lemask ++ ++ vsldoi $H4l,$zero,$H,8 ++ vmr $H4, $H ++ vsldoi $H4h,$H,$zero,8 ++ ++ vxor $Xh,$IN0,$Xl ++ vxor $Xl3,$Xl3,$Xl3 ++ vxor $Xm3,$Xm3,$Xm3 ++ vxor $Xh3,$Xh3,$Xh3 ++ ++ b Ltail_4x ++ ++Ldone_4x: ++ le?vperm $Xl,$Xl,$Xl,$lemask ++ stvx_u $Xl,0,$Xip # write out Xi ++ ++ li r10,`15+6*$SIZE_T` ++ li r11,`31+6*$SIZE_T` ++ mtspr 256,$vrsave ++ lvx v20,r10,$sp ++ addi r10,r10,32 ++ lvx v21,r11,$sp ++ addi r11,r11,32 ++ lvx v22,r10,$sp ++ addi r10,r10,32 ++ lvx v23,r11,$sp ++ addi r11,r11,32 ++ lvx v24,r10,$sp ++ addi r10,r10,32 ++ lvx v25,r11,$sp ++ addi r11,r11,32 ++ lvx v26,r10,$sp ++ addi r10,r10,32 ++ lvx v27,r11,$sp ++ addi r11,r11,32 ++ lvx v28,r10,$sp ++ addi r10,r10,32 ++ lvx v29,r11,$sp ++ addi r11,r11,32 ++ lvx v30,r10,$sp ++ lvx v31,r11,$sp ++ addi $sp,$sp,$FRAME ++ blr ++ .long 0 ++ .byte 0,12,0x04,0,0x80,0,4,0 ++ .long 0 ++___ ++} ++$code.=<<___; ++.size .gcm_ghash_p8,.-.gcm_ghash_p8 ++ ++.asciz "GHASH for PowerISA 2.07, CRYPTOGAMS by " ++.align 2 ++___ ++ ++foreach (split("\n",$code)) { ++ s/\`([^\`]*)\`/eval $1/geo; ++ ++ if ($flavour =~ /le$/o) { # little-endian ++ s/le\?//o or ++ s/be\?/#be#/o; ++ } else { ++ s/le\?/#le#/o or ++ s/be\?//o; ++ } ++ print $_,"\n"; ++} ++ ++close STDOUT or die "error closing STDOUT: $!"; # enforce flush +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc +@@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m + *out_hash = gcm_ghash_neon; + return; + } ++#elif defined(GHASH_ASM_PPC64LE) ++ if (CRYPTO_is_PPC64LE_vcrypto_capable()) { ++ gcm_init_p8(out_table, H); ++ *out_mult = gcm_gmult_p8; ++ *out_hash = gcm_ghash_p8; ++ return; ++ } + #endif + + gcm_init_nohw(out_table, H); +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc +@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) { + } + } + #endif ++ ++#if defined(GHASH_ASM_PPC64LE) ++ if (CRYPTO_is_PPC64LE_vcrypto_capable()) { ++ CHECK_ABI(gcm_init_p8, Htable, kH); ++ CHECK_ABI(gcm_gmult_p8, X, Htable); ++ for (size_t blocks : kBlockCounts) { ++ CHECK_ABI(gcm_ghash_p8, X, Htable, buf, 16 * blocks); ++ } ++ } ++#endif // GHASH_ASM_PPC64LE + } + #endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h +@@ -30,6 +30,8 @@ + #define EXPECTED_NR_getrandom 278 + #elif defined(OPENSSL_ARM) + #define EXPECTED_NR_getrandom 384 ++#elif defined(OPENSSL_PPC64LE) ++#define EXPECTED_NR_getrandom 359 + #elif defined(OPENSSL_RISCV64) + #define EXPECTED_NR_getrandom 278 + #endif +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc +@@ -425,6 +425,11 @@ bcm_infallible BCM_rand_bytes_with_addit + // Take a read lock around accesses to |state->drbg|. This is needed to + // avoid returning bad entropy if we race with + // |rand_thread_state_clear_all|. ++ // ++ // This lock must be taken after any calls to |CRYPTO_sysrand| to avoid a ++ // bug on ppc64le. glibc may implement pthread locks by wrapping user code ++ // in a hardware transaction, but, on some older versions of glibc and the ++ // kernel, syscalls made with |syscall| did not abort the transaction. + CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock); + #endif + if (!CTR_DRBG_reseed_ex(&state->drbg, seed, sizeof(seed), +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h +@@ -23,6 +23,16 @@ + extern "C" { + #endif + ++#if defined(OPENSSL_PPC64LE) ++// POWER has an intrinsics-based implementation of SHA-1 and thus the functions ++// normally defined in assembly are available even with |OPENSSL_NO_ASM| in ++// this case. ++#define SHA1_ASM_PPC64 ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *in, ++ size_t num_blocks); ++#endif ++ ++ + // Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is + // defined in assembly. + +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc +@@ -0,0 +1,369 @@ ++/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.ccom) ++ * All rights reserved. ++ * ++ * This package is an SSL implementation written ++ * by Eric Young (eay@cryptsoft.ccom). ++ * The implementation was written so as to conform with Netscapes SSL. ++ * ++ * This library is free for commercial and non-commercial use as long as ++ * the following conditions are aheared to. The following conditions ++ * apply to all code found in this distribution, be it the RC4, RSA, ++ * lhash, DES, etc., code; not just the SSL code. The SSL documentation ++ * included with this distribution is covered by the same copyright terms ++ * except that the holder is Tim Hudson (tjh@cryptsoft.ccom). ++ * ++ * Copyright remains Eric Young's, and as such any Copyright notices in ++ * the code are not to be removed. ++ * If this package is used in a product, Eric Young should be given attribution ++ * as the author of the parts of the library used. ++ * This can be in the form of a textual message at program startup or ++ * in documentation (online or textual) provided with the package. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * "This product includes cryptographic software written by ++ * Eric Young (eay@cryptsoft.ccom)" ++ * The word 'cryptographic' can be left out if the rouines from the library ++ * being used are not cryptographic related :-). ++ * 4. If you include any Windows specific code (or a derivative thereof) from ++ * the apps directory (application code) you must include an acknowledgement: ++ * "This product includes software written by Tim Hudson (tjh@cryptsoft.ccom)" ++ * ++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * The licence and distribution terms for any publically available version or ++ * derivative of this code cannot be changed. i.e. this code cannot simply be ++ * copied and put under another distribution licence ++ * [including the GNU Public Licence.] */ ++ ++// Altivec-optimized SHA1 in C. This is tested on ppc64le only. ++// ++// References: ++// https://software.intel.ccom/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1 ++// http://arctic.org/~dean/crypto/sha1.html ++// ++// This code used the generic SHA-1 from OpenSSL as a basis and AltiVec ++// optimisations were added on top. ++ ++#include ++ ++#if defined(OPENSSL_PPC64LE) ++ ++#if defined(__cplusplus) ++extern "C" { ++#endif ++ ++#include ++ ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *data, size_t num); ++ ++static uint32_t rotate(uint32_t a, int n) { return (a << n) | (a >> (32 - n)); } ++ ++typedef vector unsigned int vec_uint32_t; ++typedef vector unsigned char vec_uint8_t; ++ ++// Vector constants ++static const vec_uint8_t k_swap_endianness = {3, 2, 1, 0, 7, 6, 5, 4, ++ 11, 10, 9, 8, 15, 14, 13, 12}; ++ ++// Shift amounts for byte and bit shifts and rotations ++static const vec_uint8_t k_4_bytes = {32, 32, 32, 32, 32, 32, 32, 32, ++ 32, 32, 32, 32, 32, 32, 32, 32}; ++static const vec_uint8_t k_12_bytes = {96, 96, 96, 96, 96, 96, 96, 96, ++ 96, 96, 96, 96, 96, 96, 96, 96}; ++ ++#define K_00_19 0x5a827999UL ++#define K_20_39 0x6ed9eba1UL ++#define K_40_59 0x8f1bbcdcUL ++#define K_60_79 0xca62c1d6UL ++ ++// Vector versions of the above. ++static const vec_uint32_t K_00_19_x_4 = {K_00_19, K_00_19, K_00_19, K_00_19}; ++static const vec_uint32_t K_20_39_x_4 = {K_20_39, K_20_39, K_20_39, K_20_39}; ++static const vec_uint32_t K_40_59_x_4 = {K_40_59, K_40_59, K_40_59, K_40_59}; ++static const vec_uint32_t K_60_79_x_4 = {K_60_79, K_60_79, K_60_79, K_60_79}; ++ ++// vector message scheduling: compute message schedule for round i..i+3 where i ++// is divisible by 4. We return the schedule w[i..i+3] as a vector. In ++// addition, we also precompute sum w[i..+3] and an additive constant K. This ++// is done to offload some computation of f() in the integer execution units. ++// ++// Byte shifting code below may not be correct for big-endian systems. ++static vec_uint32_t sched_00_15(vec_uint32_t *pre_added, const void *data, ++ vec_uint32_t k) { ++ const vector unsigned char unaligned_data = ++ vec_vsx_ld(0, (const unsigned char*) data); ++ const vec_uint32_t v = (vec_uint32_t) unaligned_data; ++ const vec_uint32_t w = vec_perm(v, v, k_swap_endianness); ++ vec_st(w + k, 0, pre_added); ++ return w; ++} ++ ++// Compute w[i..i+3] using these steps for i in [16, 20, 24, 28] ++// ++// w'[i ] = (w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]) <<< 1 ++// w'[i+1] = (w[i-2] ^ w[i-7] ^ w[i-13] ^ w[i-15]) <<< 1 ++// w'[i+2] = (w[i-1] ^ w[i-6] ^ w[i-12] ^ w[i-14]) <<< 1 ++// w'[i+3] = ( 0 ^ w[i-5] ^ w[i-11] ^ w[i-13]) <<< 1 ++// ++// w[ i] = w'[ i] ++// w[i+1] = w'[i+1] ++// w[i+2] = w'[i+2] ++// w[i+3] = w'[i+3] ^ (w'[i] <<< 1) ++static vec_uint32_t sched_16_31(vec_uint32_t *pre_added, vec_uint32_t minus_4, ++ vec_uint32_t minus_8, vec_uint32_t minus_12, ++ vec_uint32_t minus_16, vec_uint32_t k) { ++ const vec_uint32_t minus_3 = vec_sro(minus_4, k_4_bytes); ++ const vec_uint32_t minus_14 = vec_sld((minus_12), (minus_16), 8); ++ const vec_uint32_t k_1_bit = vec_splat_u32(1); ++ const vec_uint32_t w_prime = ++ vec_rl(minus_3 ^ minus_8 ^ minus_14 ^ minus_16, k_1_bit); ++ const vec_uint32_t w = ++ w_prime ^ vec_rl(vec_slo(w_prime, k_12_bytes), k_1_bit); ++ vec_st(w + k, 0, pre_added); ++ return w; ++} ++ ++// Compute w[i..i+3] using this relation for i in [32, 36, 40 ... 76] ++// w[i] = (w[i-6] ^ w[i-16] ^ w[i-28] ^ w[i-32]), 2) <<< 2 ++static vec_uint32_t sched_32_79(vec_uint32_t *pre_added, vec_uint32_t minus_4, ++ vec_uint32_t minus_8, vec_uint32_t minus_16, ++ vec_uint32_t minus_28, vec_uint32_t minus_32, ++ vec_uint32_t k) { ++ const vec_uint32_t minus_6 = vec_sld(minus_4, minus_8, 8); ++ const vec_uint32_t k_2_bits = vec_splat_u32(2); ++ const vec_uint32_t w = ++ vec_rl(minus_6 ^ minus_16 ^ minus_28 ^ minus_32, k_2_bits); ++ vec_st(w + k, 0, pre_added); ++ return w; ++} ++ ++// As pointed out by Wei Dai , F() below can be simplified ++// to the code in F_00_19. Wei attributes these optimisations to Peter ++// Gutmann's SHS code, and he attributes it to Rich Schroeppel. #define ++// F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) I've just become aware of another ++// tweak to be made, again from Wei Dai, in F_40_59, (x&a)|(y&a) -> (x|y)&a ++#define F_00_19(b, c, d) ((((c) ^ (d)) & (b)) ^ (d)) ++#define F_20_39(b, c, d) ((b) ^ (c) ^ (d)) ++#define F_40_59(b, c, d) (((b) & (c)) | (((b) | (c)) & (d))) ++#define F_60_79(b, c, d) F_20_39(b, c, d) ++ ++// We pre-added the K constants during message scheduling. ++#define BODY_00_19(i, a, b, c, d, e, f) \ ++ do { \ ++ (f) = w[i] + (e) + rotate((a), 5) + F_00_19((b), (c), (d)); \ ++ (b) = rotate((b), 30); \ ++ } while (0) ++ ++#define BODY_20_39(i, a, b, c, d, e, f) \ ++ do { \ ++ (f) = w[i] + (e) + rotate((a), 5) + F_20_39((b), (c), (d)); \ ++ (b) = rotate((b), 30); \ ++ } while (0) ++ ++#define BODY_40_59(i, a, b, c, d, e, f) \ ++ do { \ ++ (f) = w[i] + (e) + rotate((a), 5) + F_40_59((b), (c), (d)); \ ++ (b) = rotate((b), 30); \ ++ } while (0) ++ ++#define BODY_60_79(i, a, b, c, d, e, f) \ ++ do { \ ++ (f) = w[i] + (e) + rotate((a), 5) + F_60_79((b), (c), (d)); \ ++ (b) = rotate((b), 30); \ ++ } while (0) ++ ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *data, size_t num) { ++ uint32_t A, B, C, D, E, T; ++ ++ A = state[0]; ++ B = state[1]; ++ C = state[2]; ++ D = state[3]; ++ E = state[4]; ++ ++ for (;;) { ++ vec_uint32_t vw[20]; ++ const uint32_t *w = (const uint32_t *)&vw; ++ ++ vec_uint32_t k = K_00_19_x_4; ++ const vec_uint32_t w0 = sched_00_15(vw + 0, data + 0, k); ++ BODY_00_19(0, A, B, C, D, E, T); ++ BODY_00_19(1, T, A, B, C, D, E); ++ BODY_00_19(2, E, T, A, B, C, D); ++ BODY_00_19(3, D, E, T, A, B, C); ++ ++ const vec_uint32_t w4 = sched_00_15(vw + 1, data + 16, k); ++ BODY_00_19(4, C, D, E, T, A, B); ++ BODY_00_19(5, B, C, D, E, T, A); ++ BODY_00_19(6, A, B, C, D, E, T); ++ BODY_00_19(7, T, A, B, C, D, E); ++ ++ const vec_uint32_t w8 = sched_00_15(vw + 2, data + 32, k); ++ BODY_00_19(8, E, T, A, B, C, D); ++ BODY_00_19(9, D, E, T, A, B, C); ++ BODY_00_19(10, C, D, E, T, A, B); ++ BODY_00_19(11, B, C, D, E, T, A); ++ ++ const vec_uint32_t w12 = sched_00_15(vw + 3, data + 48, k); ++ BODY_00_19(12, A, B, C, D, E, T); ++ BODY_00_19(13, T, A, B, C, D, E); ++ BODY_00_19(14, E, T, A, B, C, D); ++ BODY_00_19(15, D, E, T, A, B, C); ++ ++ const vec_uint32_t w16 = sched_16_31(vw + 4, w12, w8, w4, w0, k); ++ BODY_00_19(16, C, D, E, T, A, B); ++ BODY_00_19(17, B, C, D, E, T, A); ++ BODY_00_19(18, A, B, C, D, E, T); ++ BODY_00_19(19, T, A, B, C, D, E); ++ ++ k = K_20_39_x_4; ++ const vec_uint32_t w20 = sched_16_31(vw + 5, w16, w12, w8, w4, k); ++ BODY_20_39(20, E, T, A, B, C, D); ++ BODY_20_39(21, D, E, T, A, B, C); ++ BODY_20_39(22, C, D, E, T, A, B); ++ BODY_20_39(23, B, C, D, E, T, A); ++ ++ const vec_uint32_t w24 = sched_16_31(vw + 6, w20, w16, w12, w8, k); ++ BODY_20_39(24, A, B, C, D, E, T); ++ BODY_20_39(25, T, A, B, C, D, E); ++ BODY_20_39(26, E, T, A, B, C, D); ++ BODY_20_39(27, D, E, T, A, B, C); ++ ++ const vec_uint32_t w28 = sched_16_31(vw + 7, w24, w20, w16, w12, k); ++ BODY_20_39(28, C, D, E, T, A, B); ++ BODY_20_39(29, B, C, D, E, T, A); ++ BODY_20_39(30, A, B, C, D, E, T); ++ BODY_20_39(31, T, A, B, C, D, E); ++ ++ const vec_uint32_t w32 = sched_32_79(vw + 8, w28, w24, w16, w4, w0, k); ++ BODY_20_39(32, E, T, A, B, C, D); ++ BODY_20_39(33, D, E, T, A, B, C); ++ BODY_20_39(34, C, D, E, T, A, B); ++ BODY_20_39(35, B, C, D, E, T, A); ++ ++ const vec_uint32_t w36 = sched_32_79(vw + 9, w32, w28, w20, w8, w4, k); ++ BODY_20_39(36, A, B, C, D, E, T); ++ BODY_20_39(37, T, A, B, C, D, E); ++ BODY_20_39(38, E, T, A, B, C, D); ++ BODY_20_39(39, D, E, T, A, B, C); ++ ++ k = K_40_59_x_4; ++ const vec_uint32_t w40 = sched_32_79(vw + 10, w36, w32, w24, w12, w8, k); ++ BODY_40_59(40, C, D, E, T, A, B); ++ BODY_40_59(41, B, C, D, E, T, A); ++ BODY_40_59(42, A, B, C, D, E, T); ++ BODY_40_59(43, T, A, B, C, D, E); ++ ++ const vec_uint32_t w44 = sched_32_79(vw + 11, w40, w36, w28, w16, w12, k); ++ BODY_40_59(44, E, T, A, B, C, D); ++ BODY_40_59(45, D, E, T, A, B, C); ++ BODY_40_59(46, C, D, E, T, A, B); ++ BODY_40_59(47, B, C, D, E, T, A); ++ ++ const vec_uint32_t w48 = sched_32_79(vw + 12, w44, w40, w32, w20, w16, k); ++ BODY_40_59(48, A, B, C, D, E, T); ++ BODY_40_59(49, T, A, B, C, D, E); ++ BODY_40_59(50, E, T, A, B, C, D); ++ BODY_40_59(51, D, E, T, A, B, C); ++ ++ const vec_uint32_t w52 = sched_32_79(vw + 13, w48, w44, w36, w24, w20, k); ++ BODY_40_59(52, C, D, E, T, A, B); ++ BODY_40_59(53, B, C, D, E, T, A); ++ BODY_40_59(54, A, B, C, D, E, T); ++ BODY_40_59(55, T, A, B, C, D, E); ++ ++ const vec_uint32_t w56 = sched_32_79(vw + 14, w52, w48, w40, w28, w24, k); ++ BODY_40_59(56, E, T, A, B, C, D); ++ BODY_40_59(57, D, E, T, A, B, C); ++ BODY_40_59(58, C, D, E, T, A, B); ++ BODY_40_59(59, B, C, D, E, T, A); ++ ++ k = K_60_79_x_4; ++ const vec_uint32_t w60 = sched_32_79(vw + 15, w56, w52, w44, w32, w28, k); ++ BODY_60_79(60, A, B, C, D, E, T); ++ BODY_60_79(61, T, A, B, C, D, E); ++ BODY_60_79(62, E, T, A, B, C, D); ++ BODY_60_79(63, D, E, T, A, B, C); ++ ++ const vec_uint32_t w64 = sched_32_79(vw + 16, w60, w56, w48, w36, w32, k); ++ BODY_60_79(64, C, D, E, T, A, B); ++ BODY_60_79(65, B, C, D, E, T, A); ++ BODY_60_79(66, A, B, C, D, E, T); ++ BODY_60_79(67, T, A, B, C, D, E); ++ ++ const vec_uint32_t w68 = sched_32_79(vw + 17, w64, w60, w52, w40, w36, k); ++ BODY_60_79(68, E, T, A, B, C, D); ++ BODY_60_79(69, D, E, T, A, B, C); ++ BODY_60_79(70, C, D, E, T, A, B); ++ BODY_60_79(71, B, C, D, E, T, A); ++ ++ const vec_uint32_t w72 = sched_32_79(vw + 18, w68, w64, w56, w44, w40, k); ++ BODY_60_79(72, A, B, C, D, E, T); ++ BODY_60_79(73, T, A, B, C, D, E); ++ BODY_60_79(74, E, T, A, B, C, D); ++ BODY_60_79(75, D, E, T, A, B, C); ++ ++ // We don't use the last value ++ (void)sched_32_79(vw + 19, w72, w68, w60, w48, w44, k); ++ BODY_60_79(76, C, D, E, T, A, B); ++ BODY_60_79(77, B, C, D, E, T, A); ++ BODY_60_79(78, A, B, C, D, E, T); ++ BODY_60_79(79, T, A, B, C, D, E); ++ ++ const uint32_t mask = 0xffffffffUL; ++ state[0] = (state[0] + E) & mask; ++ state[1] = (state[1] + T) & mask; ++ state[2] = (state[2] + A) & mask; ++ state[3] = (state[3] + B) & mask; ++ state[4] = (state[4] + C) & mask; ++ ++ data += 64; ++ if (--num == 0) { ++ break; ++ } ++ ++ A = state[0]; ++ B = state[1]; ++ C = state[2]; ++ D = state[3]; ++ E = state[4]; ++ } ++} ++ ++#if defined(__cplusplus) ++} ++#endif ++ ++#endif // OPENSSL_PPC64LE ++ ++#undef K_00_19 ++#undef K_20_39 ++#undef K_40_59 ++#undef K_60_79 ++#undef F_00_19 ++#undef F_20_39 ++#undef F_40_59 ++#undef F_60_79 ++#undef BODY_00_19 ++#undef BODY_20_39 ++#undef BODY_40_59 ++#undef BODY_60_79 +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/internal.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h +@@ -66,8 +66,9 @@ extern "C" { + #if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \ + (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \ + defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) +-// x86, x86_64, and the ARMs need to record the result of a cpuid/getauxval call +-// for the asm to work correctly, unless compiled without asm code. ++// x86, x86_64, the ARMs, and ppc64le need to record the result of a ++// cpuid/getauxval call for the asm to work correctly, unless compiled without ++// asm code. + #define NEED_CPUID + + // OPENSSL_cpuid_setup initializes the platform-specific feature cache. This +@@ -1420,6 +1421,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl + #endif // OPENSSL_ARM || OPENSSL_AARCH64 + + ++#if defined(OPENSSL_PPC64LE) ++ ++// CRYPTO_is_PPC64LE_vcrypto_capable returns true iff the current CPU supports ++// the Vector.AES category of instructions. ++int CRYPTO_is_PPC64LE_vcrypto_capable(void); ++ ++extern unsigned long OPENSSL_ppc64le_hwcap2; ++ ++#endif // OPENSSL_PPC64LE ++ + #if defined(BORINGSSL_DISPATCH_TEST) + // Runtime CPU dispatch testing support + +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl +@@ -0,0 +1,320 @@ ++#! /usr/bin/env perl ++# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++my $flavour = shift; ++my $output = shift; ++open STDOUT,">$output" || die "can't open $output: $!"; ++ ++my %GLOBALS; ++my %TYPES; ++my $dotinlocallabels=($flavour=~/linux/)?1:0; ++ ++################################################################ ++# directives which need special treatment on different platforms ++################################################################ ++my $type = sub { ++ my ($dir,$name,$type) = @_; ++ ++ $TYPES{$name} = $type; ++ if ($flavour =~ /linux/) { ++ $name =~ s|^\.||; ++ ".type $name,$type"; ++ } else { ++ ""; ++ } ++}; ++my $globl = sub { ++ my $junk = shift; ++ my $name = shift; ++ my $global = \$GLOBALS{$name}; ++ my $type = \$TYPES{$name}; ++ my $ret; ++ ++ $name =~ s|^\.||; ++ ++ SWITCH: for ($flavour) { ++ /aix/ && do { if (!$$type) { ++ $$type = "\@function"; ++ } ++ if ($$type =~ /function/) { ++ $name = ".$name"; ++ } ++ last; ++ }; ++ /osx/ && do { $name = "_$name"; ++ last; ++ }; ++ /linux.*(32|64le)/ ++ && do { $ret .= ".globl $name"; ++ if (!$$type) { ++ $ret .= "\n.type $name,\@function"; ++ $$type = "\@function"; ++ } ++ last; ++ }; ++ /linux.*64/ && do { $ret .= ".globl $name"; ++ if (!$$type) { ++ $ret .= "\n.type $name,\@function"; ++ $$type = "\@function"; ++ } ++ if ($$type =~ /function/) { ++ $ret .= "\n.section \".opd\",\"aw\""; ++ $ret .= "\n.align 3"; ++ $ret .= "\n$name:"; ++ $ret .= "\n.quad .$name,.TOC.\@tocbase,0"; ++ $ret .= "\n.previous"; ++ $name = ".$name"; ++ } ++ last; ++ }; ++ } ++ ++ $ret = ".globl $name" if (!$ret); ++ $$global = $name; ++ $ret; ++}; ++my $text = sub { ++ my $ret = ($flavour =~ /aix/) ? ".ccsect\t.text[PR],7" : ".text"; ++ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/); ++ $ret; ++}; ++my $machine = sub { ++ my $junk = shift; ++ my $arch = shift; ++ if ($flavour =~ /osx/) ++ { $arch =~ s/\"//g; ++ $arch = ($flavour=~/64/) ? "ppc970-64" : "ppc970" if ($arch eq "any"); ++ } ++ ".machine $arch"; ++}; ++my $size = sub { ++ if ($flavour =~ /linux/) ++ { shift; ++ my $name = shift; ++ my $real = $GLOBALS{$name} ? \$GLOBALS{$name} : \$name; ++ my $ret = ".size $$real,.-$$real"; ++ $name =~ s|^\.||; ++ if ($$real ne $name) { ++ $ret .= "\n.size $name,.-$$real"; ++ } ++ $ret; ++ } ++ else ++ { ""; } ++}; ++my $asciz = sub { ++ shift; ++ my $line = join(",",@_); ++ if ($line =~ /^"(.*)"$/) ++ { ".byte " . join(",",unpack("C*",$1),0) . "\n.align 2"; } ++ else ++ { ""; } ++}; ++my $quad = sub { ++ shift; ++ my @ret; ++ my ($hi,$lo); ++ for (@_) { ++ if (/^0x([0-9a-f]*?)([0-9a-f]{1,8})$/io) ++ { $hi=$1?"0x$1":"0"; $lo="0x$2"; } ++ elsif (/^([0-9]+)$/o) ++ { $hi=$1>>32; $lo=$1&0xffffffff; } # error-prone with 32-bit perl ++ else ++ { $hi=undef; $lo=$_; } ++ ++ if (defined($hi)) ++ { push(@ret,$flavour=~/le$/o?".long\t$lo,$hi":".long\t$hi,$lo"); } ++ else ++ { push(@ret,".quad $lo"); } ++ } ++ join("\n",@ret); ++}; ++ ++################################################################ ++# simplified mnemonics not handled by at least one assembler ++################################################################ ++my $cmplw = sub { ++ my $f = shift; ++ my $cr = 0; $cr = shift if ($#_>1); ++ # Some out-of-date 32-bit GNU assembler just can't handle cmplw... ++ ($flavour =~ /linux.*32/) ? ++ " .long ".sprintf "0x%x",31<<26|$cr<<23|$_[0]<<16|$_[1]<<11|64 : ++ " cmplw ".join(',',$cr,@_); ++}; ++my $bdnz = sub { ++ my $f = shift; ++ my $bo = $f=~/[\+\-]/ ? 16+9 : 16; # optional "to be taken" hint ++ " bc $bo,0,".shift; ++} if ($flavour!~/linux/); ++my $bltlr = sub { ++ my $f = shift; ++ my $bo = $f=~/\-/ ? 12+2 : 12; # optional "not to be taken" hint ++ ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints ++ " .long ".sprintf "0x%x",19<<26|$bo<<21|16<<1 : ++ " bclr $bo,0"; ++}; ++my $bnelr = sub { ++ my $f = shift; ++ my $bo = $f=~/\-/ ? 4+2 : 4; # optional "not to be taken" hint ++ ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints ++ " .long ".sprintf "0x%x",19<<26|$bo<<21|2<<16|16<<1 : ++ " bclr $bo,2"; ++}; ++my $beqlr = sub { ++ my $f = shift; ++ my $bo = $f=~/-/ ? 12+2 : 12; # optional "not to be taken" hint ++ ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints ++ " .long ".sprintf "0x%X",19<<26|$bo<<21|2<<16|16<<1 : ++ " bclr $bo,2"; ++}; ++# GNU assembler can't handle extrdi rA,rS,16,48, or when sum of last two ++# arguments is 64, with "operand out of range" error. ++my $extrdi = sub { ++ my ($f,$ra,$rs,$n,$b) = @_; ++ $b = ($b+$n)&63; $n = 64-$n; ++ " rldicl $ra,$rs,$b,$n"; ++}; ++my $vmr = sub { ++ my ($f,$vx,$vy) = @_; ++ " vor $vx,$vy,$vy"; ++}; ++ ++# Some ABIs specify vrsave, special-purpose register #256, as reserved ++# for system use. ++my $no_vrsave = ($flavour =~ /aix|linux64le/); ++my $mtspr = sub { ++ my ($f,$idx,$ra) = @_; ++ if ($idx == 256 && $no_vrsave) { ++ " or $ra,$ra,$ra"; ++ } else { ++ " mtspr $idx,$ra"; ++ } ++}; ++my $mfspr = sub { ++ my ($f,$rd,$idx) = @_; ++ if ($idx == 256 && $no_vrsave) { ++ " li $rd,-1"; ++ } else { ++ " mfspr $rd,$idx"; ++ } ++}; ++ ++# PowerISA 2.06 stuff ++sub vsxmem_op { ++ my ($f, $vrt, $ra, $rb, $op) = @_; ++ " .long ".sprintf "0x%X",(31<<26)|($vrt<<21)|($ra<<16)|($rb<<11)|($op*2+1); ++} ++# made-up unaligned memory reference AltiVec/VMX instructions ++my $lvx_u = sub { vsxmem_op(@_, 844); }; # lxvd2x ++my $stvx_u = sub { vsxmem_op(@_, 972); }; # stxvd2x ++my $lvdx_u = sub { vsxmem_op(@_, 588); }; # lxsdx ++my $stvdx_u = sub { vsxmem_op(@_, 716); }; # stxsdx ++my $lvx_4w = sub { vsxmem_op(@_, 780); }; # lxvw4x ++my $stvx_4w = sub { vsxmem_op(@_, 908); }; # stxvw4x ++ ++# PowerISA 2.07 stuff ++sub vcrypto_op { ++ my ($f, $vrt, $vra, $vrb, $op) = @_; ++ " .long ".sprintf "0x%X",(4<<26)|($vrt<<21)|($vra<<16)|($vrb<<11)|$op; ++} ++my $vcipher = sub { vcrypto_op(@_, 1288); }; ++my $vcipherlast = sub { vcrypto_op(@_, 1289); }; ++my $vncipher = sub { vcrypto_op(@_, 1352); }; ++my $vncipherlast= sub { vcrypto_op(@_, 1353); }; ++my $vsbox = sub { vcrypto_op(@_, 0, 1480); }; ++my $vshasigmad = sub { my ($st,$six)=splice(@_,-2); vcrypto_op(@_, $st<<4|$six, 1730); }; ++my $vshasigmaw = sub { my ($st,$six)=splice(@_,-2); vcrypto_op(@_, $st<<4|$six, 1666); }; ++my $vpmsumb = sub { vcrypto_op(@_, 1032); }; ++my $vpmsumd = sub { vcrypto_op(@_, 1224); }; ++my $vpmsubh = sub { vcrypto_op(@_, 1096); }; ++my $vpmsumw = sub { vcrypto_op(@_, 1160); }; ++my $vaddudm = sub { vcrypto_op(@_, 192); }; ++ ++my $mtsle = sub { ++ my ($f, $arg) = @_; ++ " .long ".sprintf "0x%X",(31<<26)|($arg<<21)|(147*2); ++}; ++ ++# PowerISA 3.0 stuff ++my $maddhdu = sub { ++ my ($f, $rt, $ra, $rb, $rc) = @_; ++ " .long ".sprintf "0x%X",(4<<26)|($rt<<21)|($ra<<16)|($rb<<11)|($rc<<6)|49; ++}; ++my $maddld = sub { ++ my ($f, $rt, $ra, $rb, $rc) = @_; ++ " .long ".sprintf "0x%X",(4<<26)|($rt<<21)|($ra<<16)|($rb<<11)|($rc<<6)|51; ++}; ++ ++my $darn = sub { ++ my ($f, $rt, $l) = @_; ++ " .long ".sprintf "0x%X",(31<<26)|($rt<<21)|($l<<16)|(755<<1); ++}; ++ ++print <<___; ++// This file is generated from a similarly-named Perl script in the BoringSSL ++// source tree. Do not edit by hand. ++ ++#if defined(__has_feature) ++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) ++#define OPENSSL_NO_ASM ++#endif ++#endif ++ ++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__) ++___ ++ ++while($line=<>) { ++ ++ $line =~ s|[#!;].*$||; # get rid of asm-style comments... ++ $line =~ s|/\*.*\*/||; # ... and C-style comments... ++ $line =~ s|^\s+||; # ... and skip white spaces in beginning... ++ $line =~ s|\s+$||; # ... and at the end ++ ++ { ++ $line =~ s|\.L(\w+)|L$1|g; # common denominator for Locallabel ++ $line =~ s|\bL(\w+)|\.L$1|g if ($dotinlocallabels); ++ } ++ ++ { ++ $line =~ s|(^[\.\w]+)\:\s*||; ++ my $label = $1; ++ if ($label) { ++ my $xlated = ($GLOBALS{$label} or $label); ++ print "$xlated:"; ++ if ($flavour =~ /linux.*64le/) { ++ if ($TYPES{$label} =~ /function/) { ++ printf "\n.localentry %s,0\n",$xlated; ++ } ++ } ++ } ++ } ++ ++ { ++ $line =~ s|^\s*(\.?)(\w+)([\.\+\-]?)\s*||; ++ my $c = $1; $c = "\t" if ($c eq ""); ++ my $mnemonic = $2; ++ my $f = $3; ++ my $opcode = eval("\$$mnemonic"); ++ $line =~ s/\b(c?[rf]|v|vs)([0-9]+)\b/$2/g if ($c ne "." and $flavour !~ /osx/); ++ if (ref($opcode) eq 'CODE') { $line = &$opcode($f,split(',',$line)); } ++ elsif ($mnemonic) { $line = $c.$mnemonic.$f."\t".$line; } ++ } ++ ++ print $line if ($line); ++ print "\n"; ++} ++ ++print <<___; ++#endif // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__ ++#if defined(__ELF__) ++// See https://www.airs.ccom/blog/archives/518. ++.section .note.GNU-stack,"",\%progbits ++#endif ++___ ++ ++close STDOUT or die "error closing STDOUT: $!"; +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/test/abi_test.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h +@@ -179,7 +179,78 @@ struct alignas(16) Reg128 { + CALLER_STATE_REGISTER(uint64_t, x28) \ + CALLER_STATE_REGISTER(uint64_t, x29) + +-#endif // X86_64 || X86 || ARM || AARCH64 ++#elif defined(OPENSSL_PPC64LE) ++ ++// CRReg only compares the CR2-CR4 bits of a CR register. ++struct CRReg { ++ uint32_t masked() const { return value & 0x00fff000; } ++ bool operator==(CRReg r) const { return masked() == r.masked(); } ++ bool operator!=(CRReg r) const { return masked() != r.masked(); } ++ uint32_t value; ++}; ++ ++// References: ++// ELFv2: http://openpowerfoundation.org/wp-content/uploads/resources/leabi/leabi-20170510.pdf ++// ++// Note vector and floating-point registers on POWER have two different names. ++// Originally, there were 32 floating-point registers and 32 vector registers, ++// labelled f0-f31 and v0-v31 respectively. Later, VSX (Vector Scalar Extension) ++// unified them into 64 registers vs0-vs63. f0-f31 map to the lower halves of ++// vs0-vs31. v0-v31 map to vs32-vs63. The ABI was defined in terms of pre-VSX ++// names, so we use those names here. In particular, f14-f31 are ++// callee-saved, but the upper halves of vs14-vs31 are not. ++#define LOOP_CALLER_STATE_REGISTERS() \ ++ CALLER_STATE_REGISTER(Reg128, v20) \ ++ CALLER_STATE_REGISTER(Reg128, v21) \ ++ CALLER_STATE_REGISTER(Reg128, v22) \ ++ CALLER_STATE_REGISTER(Reg128, v23) \ ++ CALLER_STATE_REGISTER(Reg128, v24) \ ++ CALLER_STATE_REGISTER(Reg128, v25) \ ++ CALLER_STATE_REGISTER(Reg128, v26) \ ++ CALLER_STATE_REGISTER(Reg128, v27) \ ++ CALLER_STATE_REGISTER(Reg128, v28) \ ++ CALLER_STATE_REGISTER(Reg128, v29) \ ++ CALLER_STATE_REGISTER(Reg128, v30) \ ++ CALLER_STATE_REGISTER(Reg128, v31) \ ++ CALLER_STATE_REGISTER(uint64_t, r14) \ ++ CALLER_STATE_REGISTER(uint64_t, r15) \ ++ CALLER_STATE_REGISTER(uint64_t, r16) \ ++ CALLER_STATE_REGISTER(uint64_t, r17) \ ++ CALLER_STATE_REGISTER(uint64_t, r18) \ ++ CALLER_STATE_REGISTER(uint64_t, r19) \ ++ CALLER_STATE_REGISTER(uint64_t, r20) \ ++ CALLER_STATE_REGISTER(uint64_t, r21) \ ++ CALLER_STATE_REGISTER(uint64_t, r22) \ ++ CALLER_STATE_REGISTER(uint64_t, r23) \ ++ CALLER_STATE_REGISTER(uint64_t, r24) \ ++ CALLER_STATE_REGISTER(uint64_t, r25) \ ++ CALLER_STATE_REGISTER(uint64_t, r26) \ ++ CALLER_STATE_REGISTER(uint64_t, r27) \ ++ CALLER_STATE_REGISTER(uint64_t, r28) \ ++ CALLER_STATE_REGISTER(uint64_t, r29) \ ++ CALLER_STATE_REGISTER(uint64_t, r30) \ ++ CALLER_STATE_REGISTER(uint64_t, r31) \ ++ CALLER_STATE_REGISTER(uint64_t, f14) \ ++ CALLER_STATE_REGISTER(uint64_t, f15) \ ++ CALLER_STATE_REGISTER(uint64_t, f16) \ ++ CALLER_STATE_REGISTER(uint64_t, f17) \ ++ CALLER_STATE_REGISTER(uint64_t, f18) \ ++ CALLER_STATE_REGISTER(uint64_t, f19) \ ++ CALLER_STATE_REGISTER(uint64_t, f20) \ ++ CALLER_STATE_REGISTER(uint64_t, f21) \ ++ CALLER_STATE_REGISTER(uint64_t, f22) \ ++ CALLER_STATE_REGISTER(uint64_t, f23) \ ++ CALLER_STATE_REGISTER(uint64_t, f24) \ ++ CALLER_STATE_REGISTER(uint64_t, f25) \ ++ CALLER_STATE_REGISTER(uint64_t, f26) \ ++ CALLER_STATE_REGISTER(uint64_t, f27) \ ++ CALLER_STATE_REGISTER(uint64_t, f28) \ ++ CALLER_STATE_REGISTER(uint64_t, f29) \ ++ CALLER_STATE_REGISTER(uint64_t, f30) \ ++ CALLER_STATE_REGISTER(uint64_t, f31) \ ++ CALLER_STATE_REGISTER(CRReg, cr) ++ ++#endif // X86_64 || X86 || ARM || AARCH64 || PPC64LE + + // Enable ABI testing if all of the following are true. + // +@@ -231,6 +302,12 @@ inline crypto_word_t ToWord(T t) { + // on 32-bit architectures for simplicity. + static_assert(sizeof(T) == 4, "parameter types must be word-sized"); + return (crypto_word_t)t; ++#elif defined(OPENSSL_PPC64LE) ++ // ELFv2, section 2.2.2.3 says the parameter save area sign- or zero-extends ++ // parameters passed in memory. Section 2.2.3 is unclear on how to handle ++ // register parameters, but section 2.2.2.3 additionally says that the memory ++ // copy of a parameter is identical to the register one. ++ return (crypto_word_t)t; + #elif defined(OPENSSL_X86_64) || defined(OPENSSL_AARCH64) + // AAPCS64, section 5.4.2, clauses C.7 and C.14 says any remaining bits in + // aarch are unspecified. iOS64 contradicts this and says the callee extends +@@ -285,9 +362,9 @@ inline crypto_word_t ToWord(T t) { + template + inline crypto_word_t CheckImpl(Result *out, bool unwind, R (*func)(Args...), + typename DeductionGuard::Type... args) { +- // We only support up to 8 arguments, so all arguments on aarch64 are passed +- // in registers. This is simpler and avoids the iOS discrepancy around packing +- // small arguments on the stack. (See the iOS64 reference.) ++ // We only support up to 8 arguments, so all arguments on aarch64 and ppc64le ++ // are passed in registers. This is simpler and avoids the iOS discrepancy ++ // around packing small arguments on the stack. (See the iOS64 reference.) + static_assert(sizeof...(args) <= 8, + "too many arguments for abi_test_trampoline"); + +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl +@@ -0,0 +1,262 @@ ++#!/usr/bin/env perl ++# Copyright (c) 2019, Google Inc. ++# ++# Permission to use, copy, modify, and/or distribute this software for any ++# purpose with or without fee is hereby granted, provided that the above ++# copyright notice and this permission notice appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++# This file defines helper functions for crypto/test/abi_test.h on ppc64le. See ++# that header for details on how to use this. ++# ++# For convenience, this file is linked into libcrypto, where consuming builds ++# already support architecture-specific sources. The static linker should drop ++# this code in non-test binaries. This includes a shared library build of ++# libcrypto, provided --gc-sections or equivalent is used. ++# ++# References: ++# ++# ELFv2: http://openpowerfoundation.org/wp-content/uploads/resources/leabi/leabi-20170510.pdf ++ ++use strict; ++ ++my $flavour = shift; ++my $output = shift; ++if ($flavour =~ /\./) { $output = $flavour; undef $flavour; } ++ ++$0 =~ m/(.*[\/\\])[^\/\\]+$/; ++my $dir = $1; ++my $xlate; ++( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or ++( $xlate="${dir}../../perlasm/ppc-xlate.pl" and -f $xlate) or ++die "can't locate ppc-xlate.pl"; ++ ++open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\""; ++*STDOUT = *OUT; ++ ++unless ($flavour =~ /linux.*64le/) { ++ die "This file only supports the ELFv2 ABI, used by ppc64le"; ++} ++ ++my $code = ""; ++ ++sub load_or_store_regs { ++ # $op is "l" or "st". ++ my ($op, $base_reg, $base_offset) = @_; ++ # Vector registers. ++ foreach (20..31) { ++ my $offset = $base_offset + ($_ - 20) * 16; ++ # Vector registers only support indexed register addressing. ++ $code .= "\tli\tr11, $offset\n"; ++ $code .= "\t${op}vx\tv$_, r11, $base_reg\n"; ++ } ++ # Save general registers. ++ foreach (14..31) { ++ my $offset = $base_offset + 192 + ($_ - 14) * 8; ++ $code .= "\t${op}d\tr$_, $offset($base_reg)\n"; ++ } ++ # Save floating point registers. ++ foreach (14..31) { ++ my $offset = $base_offset + 336 + ($_ - 14) * 8; ++ $code .= "\t${op}fd\tf$_, $offset($base_reg)\n"; ++ } ++} ++ ++sub load_regs { ++ my ($base_reg, $base_offset) = @_; ++ load_or_store_regs("l", $base_reg, $base_offset); ++} ++ ++sub store_regs { ++ my ($base_reg, $base_offset) = @_; ++ load_or_store_regs("st", $base_reg, $base_offset); ++} ++ ++my ($func, $state, $argv, $argc) = ("r3", "r4", "r5", "r6"); ++$code .= <<____; ++.machine "any" ++.text ++ ++# abi_test_trampoline loads callee-saved registers from |state|, calls |func| ++# with |argv|, then saves the callee-saved registers into |state|. It returns ++# the result of |func|. The |unwind| argument is unused. ++# uint64_t abi_test_trampoline(void (*func)(...), CallerState *state, ++# const uint64_t *argv, size_t argc, ++# uint64_t unwind); ++.globl abi_test_trampoline ++.align 5 ++abi_test_trampoline: ++ # LR is saved into the caller's stack frame. ++ mflr r0 ++ std r0, 16(r1) ++ ++ # Allocate 66*8 = 528 bytes of stack frame. From the top of the stack ++ # to the bottom, the stack frame is: ++ # ++ # 0(r1) - Back chain pointer ++ # 8(r1) - CR save area ++ # 16(r1) - LR save area (for |func|) ++ # 24(r1) - TOC pointer save area ++ # 32(r1) - Saved copy of |state| ++ # 40(r1) - Padding ++ # 48(r1) - Vector register save area (v20-v31, 12 registers) ++ # 240(r1) - General register save area (r14-r31, 18 registers) ++ # 384(r1) - Floating point register save area (f14-f31, 18 registers) ++ # ++ # Note the layouts of the register save areas and CallerState match. ++ # ++ # In the ELFv2 ABI, the parameter save area is optional if the function ++ # is non-variadic and all parameters fit in registers. We only support ++ # such functions, so we omit it to test that |func| does not rely on it. ++ stdu r1, -528(r1) ++ ++ mfcr r0 ++ std r0, 8(r1) # Save CR ++ std r2, 24(r1) # Save TOC ++ std $state, 32(r1) # Save |state| ++____ ++# Save registers to the stack. ++store_regs("r1", 48); ++# Load registers from the caller. ++load_regs($state, 0); ++$code .= <<____; ++ # Load CR from |state|. ++ ld r0, 480($state) ++ mtcr r0 ++ ++ # Move parameters into temporary registers so they are not clobbered. ++ addi r11, $argv, -8 # Adjust for ldu below ++ mr r12, $func ++ ++ # Load parameters into registers. ++ cmpdi $argc, 0 ++ beq .Largs_done ++ mtctr $argc ++ ldu r3, 8(r11) ++ bdz .Largs_done ++ ldu r4, 8(r11) ++ bdz .Largs_done ++ ldu r5, 8(r11) ++ bdz .Largs_done ++ ldu r6, 8(r11) ++ bdz .Largs_done ++ ldu r7, 8(r11) ++ bdz .Largs_done ++ ldu r8, 8(r11) ++ bdz .Largs_done ++ ldu r9, 8(r11) ++ bdz .Largs_done ++ ldu r10, 8(r11) ++ ++.Largs_done: ++ li r2, 0 # Clear TOC to test |func|'s global entry point ++ mtctr r12 ++ bctrl ++ ld r2, 24(r1) # Restore TOC ++ ++ ld $state, 32(r1) # Reload |state| ++____ ++# Output resulting registers to the caller. ++store_regs($state, 0); ++# Restore registers from the stack. ++load_regs("r1", 48); ++$code .= <<____; ++ mfcr r0 ++ std r0, 480($state) # Output CR to caller ++ ld r0, 8(r1) ++ mtcrf 0b00111000, r0 # Restore CR2-CR4 ++ addi r1, r1, 528 ++ ld r0, 16(r1) # Restore LR ++ mtlr r0 ++ blr ++.size abi_test_trampoline,.-abi_test_trampoline ++____ ++ ++# abi_test_clobber_* clobbers the corresponding register. These are used to test ++# the ABI-testing framework. ++foreach (0..31) { ++ # r1 is the stack pointer. r13 is the thread pointer. ++ next if ($_ == 1 || $_ == 13); ++ $code .= <<____; ++.globl abi_test_clobber_r$_ ++.align 5 ++abi_test_clobber_r$_: ++ li r$_, 0 ++ blr ++.size abi_test_clobber_r$_,.-abi_test_clobber_r$_ ++____ ++} ++ ++foreach (0..31) { ++ $code .= <<____; ++.globl abi_test_clobber_f$_ ++.align 4 ++abi_test_clobber_f$_: ++ li r0, 0 ++ # Use the red zone. ++ std r0, -8(r1) ++ lfd f$_, -8(r1) ++ blr ++.size abi_test_clobber_f$_,.-abi_test_clobber_f$_ ++____ ++} ++ ++foreach (0..31) { ++ $code .= <<____; ++.globl abi_test_clobber_v$_ ++.align 4 ++abi_test_clobber_v$_: ++ vxor v$_, v$_, v$_ ++ blr ++.size abi_test_clobber_v$_,.-abi_test_clobber_v$_ ++____ ++} ++ ++foreach (0..7) { ++ # PPC orders CR fields in big-endian, so the mask is reversed from what one ++ # would expect. ++ my $mask = 1 << (7 - $_); ++ $code .= <<____; ++.globl abi_test_clobber_cr$_ ++.align 4 ++abi_test_clobber_cr$_: ++ # Flip the bits on cr$_ rather than setting to zero. With a four-bit ++ # register, zeroing it will do nothing 1 in 16 times. ++ mfcr r0 ++ not r0, r0 ++ mtcrf $mask, r0 ++ blr ++.size abi_test_clobber_cr$_,.-abi_test_clobber_cr$_ ++____ ++} ++ ++$code .= <<____; ++.globl abi_test_clobber_ctr ++.align 4 ++abi_test_clobber_ctr: ++ li r0, 0 ++ mtctr r0 ++ blr ++.size abi_test_clobber_ctr,.-abi_test_clobber_ctr ++ ++.globl abi_test_clobber_lr ++.align 4 ++abi_test_clobber_lr: ++ mflr r0 ++ mtctr r0 ++ li r0, 0 ++ mtlr r0 ++ bctr ++.size abi_test_clobber_lr,.-abi_test_clobber_lr ++ ++____ ++ ++print $code; ++close STDOUT or die "error closing STDOUT: $!"; +Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/include/openssl/target.h ++++ chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h +@@ -34,6 +34,9 @@ + #elif defined(__ARMEL__) || defined(_M_ARM) + #define OPENSSL_32_BIT + #define OPENSSL_ARM ++#elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN) ++#define OPENSSL_64_BIT ++#define OPENSSL_PPC64LE + #elif defined(__MIPSEL__) && !defined(__LP64__) + #define OPENSSL_32_BIT + #define OPENSSL_MIPS +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc +@@ -31,6 +31,8 @@ int main(int argc, char **argv) { + puts("ARM (32-bit)"); + #elif defined(OPENSSL_AARCH64) + puts("aarch64 (64-bit)"); ++#elif defined(OPENSSL_PPC64LE) ++ puts("PPC64LE (64-bit)"); + #else + #error "FIPS build not supported on this architecture" + #endif +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go +@@ -56,7 +56,8 @@ type stringWriter interface { + type processorType int + + const ( +- x86_64 processorType = iota + 1 ++ ppc64le processorType = iota + 1 ++ x86_64 + aarch64 + ) + +@@ -69,6 +70,8 @@ type delocation struct { + + // symbols is the set of symbols defined in the module. + symbols map[string]struct{} ++ // localEntrySymbols is the set of symbols with .localentry directives. ++ localEntrySymbols map[string]struct{} + // redirectors maps from out-call symbol name to the name of a + // redirector function for that symbol. E.g. “memcpy” -> + // “bcm_redirector_memcpy”. +@@ -77,6 +80,9 @@ type delocation struct { + // should be used to reference it. E.g. “P384_data_storage” -> + // “P384_data_storage”. + bssAccessorsNeeded map[string]string ++ // tocLoaders is a set of symbol names for which TOC helper functions ++ // are required. (ppc64le only.) ++ tocLoaders map[string]struct{} + // gotExternalsNeeded is a set of symbol names for which we need + // “delta” symbols: symbols that contain the offset from their location + // to the memory in question. +@@ -155,6 +161,8 @@ func (d *delocation) processInput(input + switch d.processor { + case x86_64: + statement, err = d.processIntelInstruction(statement, node.up) ++ case ppc64le: ++ statement, err = d.processPPCInstruction(statement, node.up) + case aarch64: + statement, err = d.processAarch64Instruction(statement, node.up) + default: +@@ -255,7 +263,7 @@ func (d *delocation) processDirective(st + d.writeNode(statement) + break + +- case ".debug", ".note": ++ case ".debug", ".note", ".toc": + d.writeNode(statement) + break + +@@ -344,6 +352,10 @@ func (d *delocation) processLabelContain + d.output.WriteString("\t" + name + "\t" + strings.Join(args, ", ") + "\n") + } + ++ if name == ".localentry" { ++ d.output.WriteString(localEntryName(args[0]) + ":\n") ++ } ++ + return statement, nil + } + +@@ -703,6 +715,191 @@ func (d *delocation) processAarch64Instr + return statement, nil + } + ++/* ppc64le ++ ++[PABI]: “64-Bit ELF V2 ABI Specification. Power Architecture.” March 21st, ++ 2017 ++ ++(Also useful is “Power ISA Version 2.07 B”. Note that version three of that ++document is /not/ good as that's POWER9 specific.) ++ ++ppc64le doesn't have IP-relative addressing and does a lot to work around this. ++Rather than reference a PLT and GOT direction, it has a single structure called ++the TOC (Table Of Contents). Within the TOC is the contents of .rodata, .data, ++.got, .plt, .bss, etc sections [PABI;3.3]. ++ ++A pointer to the TOC is maintained in r2 and the following pattern is used to ++load the address of an element into a register: ++ ++ addis
, 2, foo@toc@ha ++ addi
,
, foo@toc@l ++ ++The “addis” instruction shifts a signed constant left 16 bits and adds the ++result to its second argument, saving the result in the first argument. The ++“addi” instruction does the same, but without shifting. Thus the “@toc@ha" ++suffix on a symbol means “the top 16 bits of the TOC offset” and “@toc@l” means ++“the bottom 16 bits of the offset”. However, note that both values are signed, ++thus offsets in the top half of a 64KB chunk will have an @ha value that's one ++greater than expected and a negative @l value. ++ ++The TOC is specific to a “module” (basically an executable or shared object). ++This means that there's not a single TOC in a process and that r2 needs to ++change as control moves between modules. Thus functions have two entry points: ++the “global” entry point and the “local” entry point. Jumps from within the ++same module can use the local entry while jumps from other modules must use the ++global entry. The global entry establishes the correct value of r2 before ++running the function and the local entry skips that code. ++ ++The global entry point for a function is defined by its label. The local entry ++is a power-of-two number of bytes from the global entry, set by the ++“.localentry” directive. (ppc64le instructions are always 32 bits, so an offset ++of 1 or 2 bytes is treated as an offset of zero.) ++ ++In order to help the global entry code set r2 to point to the local TOC, r12 is ++set to the address of the global entry point when called [PABI;2.2.1.1]. Thus ++the global entry will typically use an addis+addi pair to add a known offset to ++r12 and store it in r2. For example: ++ ++foo: ++ addis 2, 12, .TOC. - foo@ha ++ addi 2, 2, .TOC. - foo@l ++ ++(It's worth noting that the '@' operator binds very loosely, so the 3rd ++arguments parse as (.TOC. - foo)@ha and (.TOC. - foo)@l.) ++ ++When calling a function, the compiler doesn't know whether that function is in ++the same module or not. Thus it doesn't know whether r12 needs to be set nor ++whether r2 will be clobbered on return. Rather than always assume the worst, ++the linker fixes stuff up once it knows that a call is going out of module: ++ ++Firstly, calling, say, memcpy (which we assume to be in a different module) ++won't actually jump directly to memcpy, or even a PLT resolution function. ++It'll call a synthesised function that: ++ a) saves r2 in the caller's stack frame ++ b) loads the address of memcpy@PLT into r12 ++ c) jumps to r12. ++ ++As this synthesised function loads memcpy@PLT, a call to memcpy from the ++compiled code just references “memcpy” directly, not “memcpy@PLT”. ++ ++Since it jumps directly to memcpy@PLT, it can't restore r2 on return. Thus ++calls must be followed by a nop. If the call ends up going out-of-module, the ++linker will rewrite that nop to load r2 from the stack. ++ ++Speaking of the stack, the stack pointer is kept in r1 and there's a 288-byte ++red-zone. The format of the stack frame is defined [PABI;2.2.2] and must be ++followed as called functions will write into their parent's stack frame. For ++example, the synthesised out-of-module trampolines will save r2 24 bytes into ++the caller's frame and all non-leaf functions save the return address 16 bytes ++into the caller's frame. ++ ++A final point worth noting: some RISC ISAs have r0 wired to zero: all reads ++result in zero and all writes are discarded. POWER does something a little like ++that, but r0 is only special in certain argument positions for certain ++instructions. You just have to read the manual to know which they are. ++ ++ ++Delocation is easier than Intel because there's just TOC references, but it's ++also harder because there's no IP-relative addressing. ++ ++Jumps are IP-relative however, and have a 24-bit immediate value. So we can ++jump to functions that set a register to the needed value. (r3 is the ++return-value register and so that's what is generally used here.) */ ++ ++// isPPC64LEAPair recognises an addis+addi pair that's adding the offset of ++// source to relative and writing the result to target. ++func (d *delocation) isPPC64LEAPair(statement *node32) (target, source, relative string, ok bool) { ++ instruction := skipWS(statement.up).up ++ assertNodeType(instruction, ruleInstructionName) ++ name1 := d.ccontents(instruction) ++ args1 := instructionArgs(instruction.next) ++ ++ statement = statement.next ++ instruction = skipWS(statement.up).up ++ assertNodeType(instruction, ruleInstructionName) ++ name2 := d.ccontents(instruction) ++ args2 := instructionArgs(instruction.next) ++ ++ if name1 != "addis" || ++ len(args1) != 3 || ++ name2 != "addi" || ++ len(args2) != 3 { ++ return "", "", "", false ++ } ++ ++ target = d.ccontents(args1[0]) ++ relative = d.ccontents(args1[1]) ++ source1 := d.ccontents(args1[2]) ++ source2 := d.ccontents(args2[2]) ++ ++ if !strings.HasSuffix(source1, "@ha") || ++ !strings.HasSuffix(source2, "@l") || ++ source1[:len(source1)-3] != source2[:len(source2)-2] || ++ d.ccontents(args2[0]) != target || ++ d.ccontents(args2[1]) != target { ++ return "", "", "", false ++ } ++ ++ source = source1[:len(source1)-3] ++ ok = true ++ return ++} ++ ++// establishTOC writes the global entry prelude for a function. The standard ++// prelude involves relocations so this version moves the relocation outside ++// the integrity-checked area. ++func establishTOC(w stringWriter) { ++ w.WriteString("999:\n") ++ w.WriteString("\taddis 2, 12, .LBORINGSSL_external_toc-999b@ha\n") ++ w.WriteString("\taddi 2, 2, .LBORINGSSL_external_toc-999b@l\n") ++ w.WriteString("\tld 12, 0(2)\n") ++ w.WriteString("\tadd 2, 2, 12\n") ++} ++ ++// loadTOCFuncName returns the name of a synthesized function that sets r3 to ++// the value of “symbol+offset”. ++func loadTOCFuncName(symbol, offset string) string { ++ symbol = strings.Replace(symbol, ".", "_dot_", -1) ++ ret := ".Lbcm_loadtoc_" + symbol ++ if len(offset) != 0 { ++ offset = strings.Replace(offset, "+", "_plus_", -1) ++ offset = strings.Replace(offset, "-", "_minus_", -1) ++ ret += "_" + offset ++ } ++ return ret ++} ++ ++func (d *delocation) loadFromTOC(w stringWriter, symbol, offset, dest string) wrapperFunc { ++ d.tocLoaders[symbol+"\x00"+offset] = struct{}{} ++ ++ return func(k func()) { ++ w.WriteString("\taddi 1, 1, -288\n") // Clear the red zone. ++ w.WriteString("\tmflr " + dest + "\n") // Stash the link register. ++ w.WriteString("\tstd " + dest + ", -8(1)\n") ++ // The TOC loader will use r3, so stash it if necessary. ++ if dest != "3" { ++ w.WriteString("\tstd 3, -16(1)\n") ++ } ++ ++ // Because loadTOCFuncName returns a “.L” name, we don't need a ++ // nop after this call. ++ w.WriteString("\tbl " + loadTOCFuncName(symbol, offset) + "\n") ++ ++ // Cycle registers around. We need r3 -> destReg, -8(1) -> ++ // lr and, optionally, -16(1) -> r3. ++ w.WriteString("\tstd 3, -24(1)\n") ++ w.WriteString("\tld 3, -8(1)\n") ++ w.WriteString("\tmtlr 3\n") ++ w.WriteString("\tld " + dest + ", -24(1)\n") ++ if dest != "3" { ++ w.WriteString("\tld 3, -16(1)\n") ++ } ++ w.WriteString("\taddi 1, 1, 288\n") ++ ++ k() ++ } ++} ++ + func (d *delocation) gatherOffsets(symRef *node32, offsets string) (*node32, string) { + for symRef != nil && symRef.pegRule == ruleOffset { + offset := d.contents(symRef) +@@ -757,6 +954,215 @@ func (d *delocation) parseMemRef(memRef + return + } + ++func (d *delocation) processPPCInstruction(statement, instruction *node32) (*node32, error) { ++ assertNodeType(instruction, ruleInstructionName) ++ instructionName := d.ccontents(instruction) ++ isBranch := instructionName[0] == 'b' ++ ++ argNodes := instructionArgs(instruction.next) ++ ++ var wrappers wrapperStack ++ var args []string ++ changed := false ++ ++Args: ++ for i, arg := range argNodes { ++ fullArg := arg ++ isIndirect := false ++ ++ if arg.pegRule == ruleIndirectionIndicator { ++ arg = arg.next ++ isIndirect = true ++ } ++ ++ switch arg.pegRule { ++ case ruleRegisterOrConstant, ruleLocalLabelRef: ++ args = append(args, d.ccontents(fullArg)) ++ ++ case ruleTOCRefLow: ++ return nil, errors.New("Found low TOC reference outside preamble pattern") ++ ++ case ruleTOCRefHigh: ++ target, _, relative, ok := d.isPPC64LEAPair(statement) ++ if !ok { ++ return nil, errors.New("Found high TOC reference outside preamble pattern") ++ } ++ ++ if relative != "12" { ++ return nil, fmt.Errorf("preamble is relative to %q, not r12", relative) ++ } ++ ++ if target != "2" { ++ return nil, fmt.Errorf("preamble is setting %q, not r2", target) ++ } ++ ++ statement = statement.next ++ establishTOC(d.output) ++ instructionName = "" ++ changed = true ++ break Args ++ ++ case ruleMemoryRef: ++ symbol, offset, section, didChange, symbolIsLocal, memRef := d.parseMemRef(arg.up) ++ changed = didChange ++ ++ if len(symbol) > 0 { ++ if _, localEntrySymbol := d.localEntrySymbols[symbol]; localEntrySymbol && isBranch { ++ symbol = localEntryName(symbol) ++ changed = true ++ } else if _, knownSymbol := d.symbols[symbol]; knownSymbol { ++ symbol = localTargetName(symbol) ++ changed = true ++ } else if !symbolIsLocal && !isSynthesized(symbol) && len(section) == 0 { ++ changed = true ++ d.redirectors[symbol] = redirectorName(symbol) ++ symbol = redirectorName(symbol) ++ // TODO(davidben): This should sanity-check the next ++ // instruction is a nop and ideally remove it. ++ wrappers = append(wrappers, func(k func()) { ++ k() ++ // Like the linker's PLT stubs, redirector functions ++ // expect callers to restore r2. ++ d.output.WriteString("\tld 2, 24(1)\n") ++ }) ++ } ++ } ++ ++ switch section { ++ case "": ++ ++ case "tls": ++ // This section identifier just tells the ++ // assembler to use r13, the pointer to the ++ // thread-local data [PABI;3.7.3.3]. ++ ++ case "toc@ha": ++ // Delete toc@ha instructions. Per ++ // [PABI;3.6.3], the linker is allowed to erase ++ // toc@ha instructions. We take advantage of ++ // this by unconditionally erasing the toc@ha ++ // instructions and doing the full lookup when ++ // processing toc@l. ++ // ++ // Note that any offset here applies before @ha ++ // and @l. That is, 42+foo@toc@ha is ++ // #ha(42+foo-.TOC.), not 42+#ha(foo-.TOC.). Any ++ // corresponding toc@l references are required ++ // by the ABI to have the same offset. The ++ // offset will be incorporated in full when ++ // those are processed. ++ if instructionName != "addis" || len(argNodes) != 3 || i != 2 || args[1] != "2" { ++ return nil, errors.New("can't process toc@ha reference") ++ } ++ changed = true ++ instructionName = "" ++ break Args ++ ++ case "toc@l": ++ // Per [PAB;3.6.3], this instruction must take ++ // as input a register which was the output of ++ // a toc@ha computation and compute the actual ++ // address of some symbol. The toc@ha ++ // computation was elided, so we ignore that ++ // input register and compute the address ++ // directly. ++ changed = true ++ ++ // For all supported toc@l instructions, the ++ // destination register is the first argument. ++ destReg := args[0] ++ ++ wrappers = append(wrappers, d.loadFromTOC(d.output, symbol, offset, destReg)) ++ switch instructionName { ++ case "addi": ++ // The original instruction was: ++ // addi destReg, tocHaReg, offset+symbol@toc@l ++ instructionName = "" ++ ++ case "ld", "lhz", "lwz": ++ // The original instruction was: ++ // l?? destReg, offset+symbol@toc@l(tocHaReg) ++ // ++ // We transform that into the ++ // equivalent dereference of destReg: ++ // l?? destReg, 0(destReg) ++ origInstructionName := instructionName ++ instructionName = "" ++ ++ assertNodeType(memRef, ruleBaseIndexScale) ++ assertNodeType(memRef.up, ruleRegisterOrConstant) ++ if memRef.next != nil || memRef.up.next != nil { ++ return nil, errors.New("expected single register in BaseIndexScale for ld argument") ++ } ++ ++ baseReg := destReg ++ if baseReg == "0" { ++ // Register zero is special as the base register for a load. ++ // Avoid it by spilling and using r3 instead. ++ baseReg = "3" ++ wrappers = append(wrappers, func(k func()) { ++ d.output.WriteString("\taddi 1, 1, -288\n") // Clear the red zone. ++ d.output.WriteString("\tstd " + baseReg + ", -8(1)\n") ++ d.output.WriteString("\tmr " + baseReg + ", " + destReg + "\n") ++ k() ++ d.output.WriteString("\tld " + baseReg + ", -8(1)\n") ++ d.output.WriteString("\taddi 1, 1, 288\n") // Clear the red zone. ++ }) ++ } ++ ++ wrappers = append(wrappers, func(k func()) { ++ d.output.WriteString("\t" + origInstructionName + " " + destReg + ", 0(" + baseReg + ")\n") ++ }) ++ default: ++ return nil, fmt.Errorf("can't process TOC argument to %q", instructionName) ++ } ++ ++ default: ++ return nil, fmt.Errorf("Unknown section type %q", section) ++ } ++ ++ argStr := "" ++ if isIndirect { ++ argStr += "*" ++ } ++ argStr += symbol ++ if len(offset) > 0 { ++ argStr += offset ++ } ++ if len(section) > 0 { ++ argStr += "@" ++ argStr += section ++ } ++ ++ for ; memRef != nil; memRef = memRef.next { ++ argStr += d.ccontents(memRef) ++ } ++ ++ args = append(args, argStr) ++ ++ default: ++ panic(fmt.Sprintf("unknown instruction argument type %q", rul3s[arg.pegRule])) ++ } ++ } ++ ++ if changed { ++ d.writeCommentedNode(statement) ++ ++ var replacement string ++ if len(instructionName) > 0 { ++ replacement = "\t" + instructionName + "\t" + strings.Join(args, ", ") + "\n" ++ } ++ ++ wrappers.do(func() { ++ d.output.WriteString(replacement) ++ }) ++ } else { ++ d.writeNode(statement) ++ } ++ ++ return statement, nil ++} ++ + /* Intel */ + + type instructionType int +@@ -1370,6 +1776,8 @@ func writeAarch64Function(w stringWriter + func transform(w stringWriter, inputs []inputFile) error { + // symbols contains all defined symbols. + symbols := make(map[string]struct{}) ++ // localEntrySymbols contains all symbols with a .localentry directive. ++ localEntrySymbols := make(map[string]struct{}) + // fileNumbers is the set of IDs seen in .file directives. + fileNumbers := make(map[int]struct{}) + // maxObservedFileNumber contains the largest seen file number in a +@@ -1402,6 +1810,25 @@ func transform(w stringWriter, inputs [] + }, ruleStatement, ruleSymbolDefiningDirective, ruleSymbolDefiningDirectiveName) + + forEachPath(input.ast.up, func(node *node32) { ++ node = node.up ++ assertNodeType(node, ruleLabelContainingDirectiveName) ++ directive := input.ccontents[node.begin:node.end] ++ if directive != ".localentry" { ++ return ++ } ++ // Extract the first argument. ++ node = skipWS(node.next) ++ assertNodeType(node, ruleSymbolArgs) ++ node = node.up ++ assertNodeType(node, ruleSymbolArg) ++ symbol := input.ccontents[node.begin:node.end] ++ if _, ok := localEntrySymbols[symbol]; ok { ++ panic(fmt.Sprintf("Duplicate .localentry directive found: %q in %q", symbol, input.path)) ++ } ++ localEntrySymbols[symbol] = struct{}{} ++ }, ruleStatement, ruleLabelContainingDirective) ++ ++ forEachPath(input.ast.up, func(node *node32) { + assertNodeType(node, ruleLocationDirective) + directive := input.contents[node.begin:node.end] + if !strings.HasPrefix(directive, ".file") { +@@ -1449,11 +1876,13 @@ func transform(w stringWriter, inputs [] + + d := &delocation{ + symbols: symbols, ++ localEntrySymbols: localEntrySymbols, + processor: processor, + commentIndicator: commentIndicator, + output: w, + redirectors: make(map[string]string), + bssAccessorsNeeded: make(map[string]string), ++ tocLoaders: make(map[string]struct{}), + gotExternalsNeeded: make(map[string]struct{}), + gotOffsetsNeeded: make(map[string]struct{}), + gotOffOffsetsNeeded: make(map[string]struct{}), +@@ -1488,6 +1917,22 @@ func transform(w stringWriter, inputs [] + for _, name := range redirectorNames { + redirector := d.redirectors[name] + switch d.processor { ++ case ppc64le: ++ w.WriteString(".section \".toc\", \"aw\"\n") ++ w.WriteString(".Lredirector_toc_" + name + ":\n") ++ w.WriteString(".quad " + name + "\n") ++ w.WriteString(".text\n") ++ w.WriteString(".type " + redirector + ", @function\n") ++ w.WriteString(redirector + ":\n") ++ // |name| will clobber r2, so save it. This is matched by a restore in ++ // redirector calls. ++ w.WriteString("\tstd 2, 24(1)\n") ++ // Load and call |name|'s global entry point. ++ w.WriteString("\taddis 12, 2, .Lredirector_toc_" + name + "@toc@ha\n") ++ w.WriteString("\tld 12, .Lredirector_toc_" + name + "@toc@l(12)\n") ++ w.WriteString("\tmtctr 12\n") ++ w.WriteString("\tbctr\n") ++ + case aarch64: + writeAarch64Function(w, redirector, func(w stringWriter) { + w.WriteString("\tb " + name + "\n") +@@ -1512,6 +1957,13 @@ func transform(w stringWriter, inputs [] + target := d.bssAccessorsNeeded[name] + + switch d.processor { ++ case ppc64le: ++ w.WriteString(".type " + funcName + ", @function\n") ++ w.WriteString(funcName + ":\n") ++ w.WriteString("\taddis 3, 2, " + target + "@toc@ha\n") ++ w.WriteString("\taddi 3, 3, " + target + "@toc@l\n") ++ w.WriteString("\tblr\n") ++ + case x86_64: + w.WriteString(".type " + funcName + ", @function\n") + w.WriteString(funcName + ":\n") +@@ -1527,6 +1979,26 @@ func transform(w stringWriter, inputs [] + } + + switch d.processor { ++ case ppc64le: ++ loadTOCNames := sortedSet(d.tocLoaders) ++ for _, symbolAndOffset := range loadTOCNames { ++ parts := strings.SplitN(symbolAndOffset, "\x00", 2) ++ symbol, offset := parts[0], parts[1] ++ ++ funcName := loadTOCFuncName(symbol, offset) ++ ref := symbol + offset ++ ++ w.WriteString(".type " + funcName[2:] + ", @function\n") ++ w.WriteString(funcName[2:] + ":\n") ++ w.WriteString(funcName + ":\n") ++ w.WriteString("\taddis 3, 2, " + ref + "@toc@ha\n") ++ w.WriteString("\taddi 3, 3, " + ref + "@toc@l\n") ++ w.WriteString("\tblr\n") ++ } ++ ++ w.WriteString(".LBORINGSSL_external_toc:\n") ++ w.WriteString(".quad .TOC.-.LBORINGSSL_external_toc\n") ++ + case aarch64: + externalNames := sortedSet(d.gotExternalsNeeded) + for _, symbol := range externalNames { +@@ -1818,6 +2290,10 @@ func localTargetName(name string) string + return ".L" + name + "_local_target" + } + ++func localEntryName(name string) string { ++ return ".L" + name + "_local_entry" ++} ++ + func isSynthesized(symbol string) bool { + return strings.HasSuffix(symbol, "_bss_get") || + strings.HasPrefix(symbol, "BORINGSSL_bcm_text_") +@@ -1872,6 +2348,8 @@ func detectProcessor(input inputFile) pr + switch instructionName { + case "movq", "call", "leaq": + return x86_64 ++ case "addis", "addi", "mflr": ++ return ppc64le + case "str", "bl", "ldr", "st1": + return aarch64 + } +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg +@@ -12,9 +12,9 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + +-# This is a rough parser for x86-64 and aarch64 assembly designed to work with +-# https://github.com/pointlander/peg. delocate.go has a go:generate line for +-# rebuilding delocate.peg.go from this file. ++# This is a rough parser for x86-64, ppc64el, and aarch64 assembly designed ++# to work with https://github.com/pointlander/peg. delocate.go has a ++# go:generate line for rebuilding delocate.peg.go from this file. + + # To regenerate delocate.peg.go: + # +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go +@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri + + var delocateTests = []delocateTest{ + {"generic-FileDirectives", []string{"in.s"}, "out.s"}, ++ {"ppc64le-GlobalEntry", []string{"in.s"}, "out.s"}, ++ {"ppc64le-LoadToR0", []string{"in.s"}, "out.s"}, ++ {"ppc64le-Sample2", []string{"in.s"}, "out.s"}, ++ {"ppc64le-Sample", []string{"in.s"}, "out.s"}, ++ {"ppc64le-TOCWithOffset", []string{"in.s"}, "out.s"}, + {"x86_64-Basic", []string{"in.s"}, "out.s"}, + {"x86_64-BSS", []string{"in.s"}, "out.s"}, + {"x86_64-GOTRewrite", []string{"in.s"}, "out.s"}, +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s +@@ -0,0 +1,9 @@ ++ .text ++foo: ++.LCF0: ++0: ++ addis 2,12,.TOC.-.LCF0@ha ++ addi 2,2,.TOC.-.LCF0@l ++ .localentry foo,.-foo ++.LVL0: ++ bl +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s +@@ -0,0 +1,62 @@ ++.text ++.file 1 "inserted_by_delocate.cc" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .text ++.Lfoo_local_target: ++foo: ++.LCF0: ++ ++0: ++ ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-.LCF0@l ++ .localentry foo,.-foo ++.Lfoo_local_entry: ++.LVL0: ++ ++ bl ++.text ++.loc 1 2 0 ++BORINGSSL_bcm_text_end: ++.LBORINGSSL_external_toc: ++.quad .TOC.-.LBORINGSSL_external_toc ++.type BORINGSSL_bcm_text_hash, @object ++.size BORINGSSL_bcm_text_hash, 32 ++BORINGSSL_bcm_text_hash: ++.byte 0xae ++.byte 0x2c ++.byte 0xea ++.byte 0x2a ++.byte 0xbd ++.byte 0xa6 ++.byte 0xf3 ++.byte 0xec ++.byte 0x97 ++.byte 0x7f ++.byte 0x9b ++.byte 0xf6 ++.byte 0x94 ++.byte 0x9a ++.byte 0xfc ++.byte 0x83 ++.byte 0x68 ++.byte 0x27 ++.byte 0xcb ++.byte 0xa0 ++.byte 0xa0 ++.byte 0x9f ++.byte 0x6b ++.byte 0x6f ++.byte 0xde ++.byte 0x52 ++.byte 0xcd ++.byte 0xe2 ++.byte 0xcd ++.byte 0xff ++.byte 0x31 ++.byte 0x80 +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s +@@ -0,0 +1,4 @@ ++ .text ++foo: ++ addis 22,2,bar@toc@ha ++ ld 0,bar@toc@l(22) +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s +@@ -0,0 +1,72 @@ ++.text ++.file 1 "inserted_by_delocate.cc" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .text ++.Lfoo_local_target: ++foo: ++# WAS addis 22,2,bar@toc@ha ++# WAS ld 0,bar@toc@l(22) ++ addi 1, 1, -288 ++ mflr 0 ++ std 0, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc_bar ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 0, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ addi 1, 1, -288 ++ std 3, -8(1) ++ mr 3, 0 ++ ld 0, 0(3) ++ ld 3, -8(1) ++ addi 1, 1, 288 ++.text ++.loc 1 2 0 ++BORINGSSL_bcm_text_end: ++.type bcm_loadtoc_bar, @function ++bcm_loadtoc_bar: ++.Lbcm_loadtoc_bar: ++ addis 3, 2, bar@toc@ha ++ addi 3, 3, bar@toc@l ++ blr ++.LBORINGSSL_external_toc: ++.quad .TOC.-.LBORINGSSL_external_toc ++.type BORINGSSL_bcm_text_hash, @object ++.size BORINGSSL_bcm_text_hash, 32 ++BORINGSSL_bcm_text_hash: ++.byte 0xae ++.byte 0x2c ++.byte 0xea ++.byte 0x2a ++.byte 0xbd ++.byte 0xa6 ++.byte 0xf3 ++.byte 0xec ++.byte 0x97 ++.byte 0x7f ++.byte 0x9b ++.byte 0xf6 ++.byte 0x94 ++.byte 0x9a ++.byte 0xfc ++.byte 0x83 ++.byte 0x68 ++.byte 0x27 ++.byte 0xcb ++.byte 0xa0 ++.byte 0xa0 ++.byte 0x9f ++.byte 0x6b ++.byte 0x6f ++.byte 0xde ++.byte 0x52 ++.byte 0xcd ++.byte 0xe2 ++.byte 0xcd ++.byte 0xff ++.byte 0x31 ++.byte 0x80 +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s +@@ -0,0 +1,161 @@ ++ .file "foo.cc" ++ .abiversion 2 ++ .section ".toc","aw" ++ .section ".text" ++ .section .rodata ++ .align 3 ++ .type kString, @object ++ .size kString, 12 ++kString: ++ .string "hello world" ++ .globl kExportedString ++ .align 3 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++kExportedString: ++ .string "hello world, more visibly" ++ .align 2 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .lcomm bss,20,4 ++ .type bss, @object ++ .align 3 ++.LC1: ++ .string "kString is %p\n" ++ .align 3 ++.LC2: ++ .string "kExportedString is %p\n" ++ .align 3 ++.LC4: ++ .string "function is %p\n" ++ .align 3 ++.LC5: ++ .string "exported_function is %p\n" ++ .align 3 ++.LC7: ++ .string "&kString[5] is %p\n" ++ .align 3 ++.LC9: ++ .string "&kGiantArray[0x12345] is %p\n" ++ .section ".toc","aw" ++.LC0: ++ .quad stderr ++.LC3: ++ .quad kExportedString ++.LC6: ++ .quad exported_function ++.LC8: ++ .quad kString+5 ++.LC10: ++ .quad kGiantArray+298260 ++ .section ".text" ++ .align 2 ++ .type function, @function ++function: ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry function,.-function ++ mflr 0 ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-112(1) ++ mr 31,1 ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC1@toc@ha ++ addi 4,4,.LC1@toc@l ++ addis 5,2,kString@toc@ha ++ addi 5,5,kString@toc@l ++ bl fprintf ++ nop ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC2@toc@ha ++ addi 4,4,.LC2@toc@l ++ addis 9,2,.LC3@toc@ha ++ ld 5,.LC3@toc@l(9) ++ bl fprintf ++ nop ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC4@toc@ha ++ addi 4,4,.LC4@toc@l ++ addis 5,2,function@toc@ha ++ addi 5,5,function@toc@l ++ bl fprintf ++ nop ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC5@toc@ha ++ addi 4,4,.LC5@toc@l ++ addis 9,2,.LC6@toc@ha ++ ld 5,.LC6@toc@l(9) ++ bl fprintf ++ nop ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC7@toc@ha ++ addi 4,4,.LC7@toc@l ++ addis 9,2,.LC8@toc@ha ++ ld 5,.LC8@toc@l(9) ++ bl fprintf ++ nop ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC9@toc@ha ++ addi 4,4,.LC9@toc@l ++ addis 9,2,.LC10@toc@ha ++ ld 5,.LC10@toc@l(9) ++ bl fprintf ++ nop ++ bl exported_function ++ nop ++ mr 3,9 ++ addi 1,31,112 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size function,.-function ++ .align 2 ++ .globl exported_function ++ .type exported_function, @function ++exported_function: ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++ mflr 0 ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-48(1) ++ mr 31,1 ++ bl function ++ mr 3,9 ++ addi 1,31,48 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size exported_function,.-exported_function ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s +@@ -0,0 +1,552 @@ ++.text ++.file 1 "inserted_by_delocate.cc" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .file "foo.cc" ++ .abiversion 2 ++ .section ".toc","aw" ++# WAS .section ".text" ++.text ++# WAS .section .rodata ++.text ++ .align 3 ++ .type kString, @object ++ .size kString, 12 ++.LkString_local_target: ++kString: ++ .string "hello world" ++ .globl kExportedString ++ .align 3 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++.LkExportedString_local_target: ++kExportedString: ++ .string "hello world, more visibly" ++ .align 2 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++.LkGiantArray_local_target: ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .lcomm bss,20,4 ++ .type bss, @object ++ .align 3 ++.LC1: ++ ++ .string "kString is %p\n" ++ .align 3 ++.LC2: ++ ++ .string "kExportedString is %p\n" ++ .align 3 ++.LC4: ++ ++ .string "function is %p\n" ++ .align 3 ++.LC5: ++ ++ .string "exported_function is %p\n" ++ .align 3 ++.LC7: ++ ++ .string "&kString[5] is %p\n" ++ .align 3 ++.LC9: ++ ++ .string "&kGiantArray[0x12345] is %p\n" ++ .section ".toc","aw" ++.LC0: ++ ++ .quad stderr ++.LC3: ++ ++ .quad kExportedString ++.LC6: ++ ++ .quad exported_function ++.LC8: ++ ++ .quad kString+5 ++.LC10: ++ ++ .quad kGiantArray+298260 ++# WAS .section ".text" ++.text ++ .align 2 ++ .type function, @function ++.Lfunction_local_target: ++function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry function,.-function ++.Lfunction_local_entry: ++ mflr 0 ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-112(1) ++ mr 31,1 ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC1@toc@ha ++# WAS addi 4,4,.LC1@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC1 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 5,2,kString@toc@ha ++# WAS addi 5,5,kString@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LkString_local_target ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC2@toc@ha ++# WAS addi 4,4,.LC2@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC2 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 9,2,.LC3@toc@ha ++# WAS ld 5,.LC3@toc@l(9) ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC3 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC4@toc@ha ++# WAS addi 4,4,.LC4@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC4 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 5,2,function@toc@ha ++# WAS addi 5,5,function@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC5@toc@ha ++# WAS addi 4,4,.LC5@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC5 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 9,2,.LC6@toc@ha ++# WAS ld 5,.LC6@toc@l(9) ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC6 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC7@toc@ha ++# WAS addi 4,4,.LC7@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC7 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 9,2,.LC8@toc@ha ++# WAS ld 5,.LC8@toc@l(9) ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC8 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) ++ addi 1, 1, -288 ++ mflr 9 ++ std 9, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 9, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC9@toc@ha ++# WAS addi 4,4,.LC9@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC9 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 9,2,.LC10@toc@ha ++# WAS ld 5,.LC10@toc@l(9) ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC10 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS bl exported_function ++ bl .Lexported_function_local_entry ++ nop ++ mr 3,9 ++ addi 1,31,112 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size function,.-function ++ .align 2 ++ .globl exported_function ++ .type exported_function, @function ++.Lexported_function_local_target: ++exported_function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++.Lexported_function_local_entry: ++ mflr 0 ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-48(1) ++ mr 31,1 ++# WAS bl function ++ bl .Lfunction_local_entry ++ mr 3,9 ++ addi 1,31,48 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size exported_function,.-exported_function ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits ++.text ++.loc 1 2 0 ++BORINGSSL_bcm_text_end: ++.section ".toc", "aw" ++.Lredirector_toc_fprintf: ++.quad fprintf ++.text ++.type bcm_redirector_fprintf, @function ++bcm_redirector_fprintf: ++ std 2, 24(1) ++ addis 12, 2, .Lredirector_toc_fprintf@toc@ha ++ ld 12, .Lredirector_toc_fprintf@toc@l(12) ++ mtctr 12 ++ bctr ++.type bss_bss_get, @function ++bss_bss_get: ++ addis 3, 2, bss@toc@ha ++ addi 3, 3, bss@toc@l ++ blr ++.type bcm_loadtoc__dot_LC0, @function ++bcm_loadtoc__dot_LC0: ++.Lbcm_loadtoc__dot_LC0: ++ addis 3, 2, .LC0@toc@ha ++ addi 3, 3, .LC0@toc@l ++ blr ++.type bcm_loadtoc__dot_LC1, @function ++bcm_loadtoc__dot_LC1: ++.Lbcm_loadtoc__dot_LC1: ++ addis 3, 2, .LC1@toc@ha ++ addi 3, 3, .LC1@toc@l ++ blr ++.type bcm_loadtoc__dot_LC10, @function ++bcm_loadtoc__dot_LC10: ++.Lbcm_loadtoc__dot_LC10: ++ addis 3, 2, .LC10@toc@ha ++ addi 3, 3, .LC10@toc@l ++ blr ++.type bcm_loadtoc__dot_LC2, @function ++bcm_loadtoc__dot_LC2: ++.Lbcm_loadtoc__dot_LC2: ++ addis 3, 2, .LC2@toc@ha ++ addi 3, 3, .LC2@toc@l ++ blr ++.type bcm_loadtoc__dot_LC3, @function ++bcm_loadtoc__dot_LC3: ++.Lbcm_loadtoc__dot_LC3: ++ addis 3, 2, .LC3@toc@ha ++ addi 3, 3, .LC3@toc@l ++ blr ++.type bcm_loadtoc__dot_LC4, @function ++bcm_loadtoc__dot_LC4: ++.Lbcm_loadtoc__dot_LC4: ++ addis 3, 2, .LC4@toc@ha ++ addi 3, 3, .LC4@toc@l ++ blr ++.type bcm_loadtoc__dot_LC5, @function ++bcm_loadtoc__dot_LC5: ++.Lbcm_loadtoc__dot_LC5: ++ addis 3, 2, .LC5@toc@ha ++ addi 3, 3, .LC5@toc@l ++ blr ++.type bcm_loadtoc__dot_LC6, @function ++bcm_loadtoc__dot_LC6: ++.Lbcm_loadtoc__dot_LC6: ++ addis 3, 2, .LC6@toc@ha ++ addi 3, 3, .LC6@toc@l ++ blr ++.type bcm_loadtoc__dot_LC7, @function ++bcm_loadtoc__dot_LC7: ++.Lbcm_loadtoc__dot_LC7: ++ addis 3, 2, .LC7@toc@ha ++ addi 3, 3, .LC7@toc@l ++ blr ++.type bcm_loadtoc__dot_LC8, @function ++bcm_loadtoc__dot_LC8: ++.Lbcm_loadtoc__dot_LC8: ++ addis 3, 2, .LC8@toc@ha ++ addi 3, 3, .LC8@toc@l ++ blr ++.type bcm_loadtoc__dot_LC9, @function ++bcm_loadtoc__dot_LC9: ++.Lbcm_loadtoc__dot_LC9: ++ addis 3, 2, .LC9@toc@ha ++ addi 3, 3, .LC9@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfunction_local_target, @function ++bcm_loadtoc__dot_Lfunction_local_target: ++.Lbcm_loadtoc__dot_Lfunction_local_target: ++ addis 3, 2, .Lfunction_local_target@toc@ha ++ addi 3, 3, .Lfunction_local_target@toc@l ++ blr ++.type bcm_loadtoc__dot_LkString_local_target, @function ++bcm_loadtoc__dot_LkString_local_target: ++.Lbcm_loadtoc__dot_LkString_local_target: ++ addis 3, 2, .LkString_local_target@toc@ha ++ addi 3, 3, .LkString_local_target@toc@l ++ blr ++.LBORINGSSL_external_toc: ++.quad .TOC.-.LBORINGSSL_external_toc ++.type BORINGSSL_bcm_text_hash, @object ++.size BORINGSSL_bcm_text_hash, 32 ++BORINGSSL_bcm_text_hash: ++.byte 0xae ++.byte 0x2c ++.byte 0xea ++.byte 0x2a ++.byte 0xbd ++.byte 0xa6 ++.byte 0xf3 ++.byte 0xec ++.byte 0x97 ++.byte 0x7f ++.byte 0x9b ++.byte 0xf6 ++.byte 0x94 ++.byte 0x9a ++.byte 0xfc ++.byte 0x83 ++.byte 0x68 ++.byte 0x27 ++.byte 0xcb ++.byte 0xa0 ++.byte 0xa0 ++.byte 0x9f ++.byte 0x6b ++.byte 0x6f ++.byte 0xde ++.byte 0x52 ++.byte 0xcd ++.byte 0xe2 ++.byte 0xcd ++.byte 0xff ++.byte 0x31 ++.byte 0x80 +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s +@@ -0,0 +1,226 @@ ++ .file "foo.cc" ++ .abiversion 2 ++ .section ".toc","aw" ++ .section ".text" ++ .section ".toc","aw" ++.LC0: ++ .quad stderr ++.LC3: ++ .quad kExportedString ++.LC6: ++ .quad exported_function ++ .section ".text" ++ .align 2 ++ .p2align 4,,15 ++ .globl exported_function ++ .type exported_function, @function ++exported_function: ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++ mflr 0 ++ std 19,-104(1) ++ std 20,-96(1) ++ std 21,-88(1) ++ std 22,-80(1) ++ addis 21,2,.LC1@toc@ha ++ addis 22,2,.LC2@toc@ha ++ std 23,-72(1) ++ std 24,-64(1) ++ addis 23,2,.LC4@toc@ha ++ addis 24,2,function@toc@ha ++ std 25,-56(1) ++ std 26,-48(1) ++ addis 25,2,.LC5@toc@ha ++ addis 26,2,.LC7@toc@ha ++ std 27,-40(1) ++ std 28,-32(1) ++ addis 28,2,.LC8@toc@ha ++ addi 21,21,.LC1@toc@l ++ std 29,-24(1) ++ std 30,-16(1) ++ addis 29,2,.LANCHOR0@toc@ha ++ addi 22,22,.LC2@toc@l ++ std 31,-8(1) ++ std 0,16(1) ++ addi 29,29,.LANCHOR0@toc@l ++ addi 23,23,.LC4@toc@l ++ stdu 1,-208(1) ++ addis 31,2,.LC0@toc@ha # gpr load fusion, type long ++ ld 31,.LC0@toc@l(31) ++ addis 19,2,.LC3@toc@ha # gpr load fusion, type long ++ ld 19,.LC3@toc@l(19) ++ addis 30,29,0x5 ++ addi 24,24,function@toc@l ++ addis 20,2,.LC6@toc@ha # gpr load fusion, type long ++ ld 20,.LC6@toc@l(20) ++ addi 25,25,.LC5@toc@l ++ addi 26,26,.LC7@toc@l ++ addi 27,29,5 ++ addi 28,28,.LC8@toc@l ++ addi 30,30,-29404 ++ .p2align 4,,15 ++.L2: ++ ld 3,0(31) ++ mr 5,21 ++ mr 6,29 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,22 ++ mr 6,19 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,23 ++ mr 6,24 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,25 ++ mr 6,20 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,26 ++ mr 6,27 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ li 4,1 ++ mr 5,28 ++ mr 6,30 ++ bl __fprintf_chk ++ nop ++ b .L2 ++ .long 0 ++ .byte 0,0,0,1,128,13,0,0 ++ .size exported_function,.-exported_function ++ .section ".toc","aw" ++ .set .LC11,.LC0 ++ .set .LC12,.LC3 ++ .set .LC13,.LC6 ++ .section ".text" ++ .align 2 ++ .p2align 4,,15 ++ .type function, @function ++function: ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry function,.-function ++ mflr 0 ++ std 31,-8(1) ++ addis 31,2,.LC11@toc@ha # gpr load fusion, type long ++ ld 31,.LC11@toc@l(31) ++ addis 5,2,.LC1@toc@ha ++ std 30,-16(1) ++ addis 30,2,.LANCHOR0@toc@ha ++ addi 5,5,.LC1@toc@l ++ addi 30,30,.LANCHOR0@toc@l ++ li 4,1 ++ mr 6,30 ++ std 0,16(1) ++ stdu 1,-112(1) ++ ld 3,0(31) ++ bl __fprintf_chk ++ nop ++ addis 6,2,.LC12@toc@ha # gpr load fusion, type long ++ ld 6,.LC12@toc@l(6) ++ ld 3,0(31) ++ addis 5,2,.LC2@toc@ha ++ li 4,1 ++ addi 5,5,.LC2@toc@l ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ addis 5,2,.LC4@toc@ha ++ addis 6,2,function@toc@ha ++ addi 5,5,.LC4@toc@l ++ addi 6,6,function@toc@l ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ addis 6,2,.LC13@toc@ha # gpr load fusion, type long ++ ld 6,.LC13@toc@l(6) ++ ld 3,0(31) ++ addis 5,2,.LC5@toc@ha ++ li 4,1 ++ addi 5,5,.LC5@toc@l ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ addis 5,2,.LC7@toc@ha ++ addi 6,30,5 ++ addi 5,5,.LC7@toc@l ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ addis 6,30,0x5 ++ addis 5,2,.LC8@toc@ha ++ li 4,1 ++ addi 5,5,.LC8@toc@l ++ addi 6,6,-29404 ++ bl __fprintf_chk ++ nop ++ bl exported_function ++ nop ++ addi 1,1,112 ++ ld 0,16(1) ++ ld 30,-16(1) ++ ld 31,-8(1) ++ mtlr 0 ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,2,0,0 ++ .size function,.-function ++ .globl kExportedString ++ .section .rodata ++ .align 4 ++ .set .LANCHOR0,. + 0 ++ .type kString, @object ++ .size kString, 12 ++kString: ++ .string "hello world" ++ .zero 4 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++kExportedString: ++ .string "hello world, more visibly" ++ .section .rodata.str1.8,"aMS",@progbits,1 ++ .align 3 ++.LC1: ++ .string "kString is %p\n" ++ .zero 1 ++.LC2: ++ .string "kExportedString is %p\n" ++ .zero 1 ++.LC4: ++ .string "function is %p\n" ++.LC5: ++ .string "exported_function is %p\n" ++ .zero 7 ++.LC7: ++ .string "&kString[5] is %p\n" ++ .zero 5 ++.LC8: ++ .string "&kGiantArray[0x12345] is %p\n" ++ .section ".bss" ++ .align 2 ++ .type bss, @object ++ .size bss, 20 ++bss: ++ .zero 20 ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s +@@ -0,0 +1,677 @@ ++.text ++.file 1 "inserted_by_delocate.cc" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .file "foo.cc" ++ .abiversion 2 ++ .section ".toc","aw" ++# WAS .section ".text" ++.text ++ .section ".toc","aw" ++.LC0: ++ ++ .quad stderr ++.LC3: ++ ++ .quad kExportedString ++.LC6: ++ ++ .quad exported_function ++# WAS .section ".text" ++.text ++ .align 2 ++ .p2align 4,,15 ++ .globl exported_function ++ .type exported_function, @function ++.Lexported_function_local_target: ++exported_function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++.Lexported_function_local_entry: ++ mflr 0 ++ std 19,-104(1) ++ std 20,-96(1) ++ std 21,-88(1) ++ std 22,-80(1) ++# WAS addis 21,2,.LC1@toc@ha ++# WAS addis 22,2,.LC2@toc@ha ++ std 23,-72(1) ++ std 24,-64(1) ++# WAS addis 23,2,.LC4@toc@ha ++# WAS addis 24,2,function@toc@ha ++ std 25,-56(1) ++ std 26,-48(1) ++# WAS addis 25,2,.LC5@toc@ha ++# WAS addis 26,2,.LC7@toc@ha ++ std 27,-40(1) ++ std 28,-32(1) ++# WAS addis 28,2,.LC8@toc@ha ++# WAS addi 21,21,.LC1@toc@l ++ addi 1, 1, -288 ++ mflr 21 ++ std 21, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC1 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 21, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ std 29,-24(1) ++ std 30,-16(1) ++# WAS addis 29,2,.LANCHOR0@toc@ha ++# WAS addi 22,22,.LC2@toc@l ++ addi 1, 1, -288 ++ mflr 22 ++ std 22, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC2 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 22, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ std 31,-8(1) ++ std 0,16(1) ++# WAS addi 29,29,.LANCHOR0@toc@l ++ addi 1, 1, -288 ++ mflr 29 ++ std 29, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 29, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addi 23,23,.LC4@toc@l ++ addi 1, 1, -288 ++ mflr 23 ++ std 23, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC4 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 23, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ stdu 1,-208(1) ++# WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long ++# WAS ld 31,.LC0@toc@l(31) ++ addi 1, 1, -288 ++ mflr 31 ++ std 31, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 31, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 31, 0(31) ++# WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long ++# WAS ld 19,.LC3@toc@l(19) ++ addi 1, 1, -288 ++ mflr 19 ++ std 19, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC3 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 19, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 19, 0(19) ++ addis 30,29,0x5 ++# WAS addi 24,24,function@toc@l ++ addi 1, 1, -288 ++ mflr 24 ++ std 24, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 24, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long ++# WAS ld 20,.LC6@toc@l(20) ++ addi 1, 1, -288 ++ mflr 20 ++ std 20, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC6 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 20, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 20, 0(20) ++# WAS addi 25,25,.LC5@toc@l ++ addi 1, 1, -288 ++ mflr 25 ++ std 25, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC5 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 25, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addi 26,26,.LC7@toc@l ++ addi 1, 1, -288 ++ mflr 26 ++ std 26, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC7 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 26, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ addi 27,29,5 ++# WAS addi 28,28,.LC8@toc@l ++ addi 1, 1, -288 ++ mflr 28 ++ std 28, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC8 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 28, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ addi 30,30,-29404 ++ .p2align 4,,15 ++.L2: ++ ++ ld 3,0(31) ++ mr 5,21 ++ mr 6,29 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,22 ++ mr 6,19 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,23 ++ mr 6,24 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,25 ++ mr 6,20 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,26 ++ mr 6,27 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ li 4,1 ++ mr 5,28 ++ mr 6,30 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ b .L2 ++ .long 0 ++ .byte 0,0,0,1,128,13,0,0 ++ .size exported_function,.-exported_function ++ .section ".toc","aw" ++ .set .LC11,.LC0 ++ .set .LC12,.LC3 ++ .set .LC13,.LC6 ++# WAS .section ".text" ++.text ++ .align 2 ++ .p2align 4,,15 ++ .type function, @function ++.Lfunction_local_target: ++function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry function,.-function ++.Lfunction_local_entry: ++ mflr 0 ++ std 31,-8(1) ++# WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long ++# WAS ld 31,.LC11@toc@l(31) ++ addi 1, 1, -288 ++ mflr 31 ++ std 31, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC11 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 31, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 31, 0(31) ++# WAS addis 5,2,.LC1@toc@ha ++ std 30,-16(1) ++# WAS addis 30,2,.LANCHOR0@toc@ha ++# WAS addi 5,5,.LC1@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC1 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addi 30,30,.LANCHOR0@toc@l ++ addi 1, 1, -288 ++ mflr 30 ++ std 30, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 30, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ li 4,1 ++ mr 6,30 ++ std 0,16(1) ++ stdu 1,-112(1) ++ ld 3,0(31) ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++# WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long ++# WAS ld 6,.LC12@toc@l(6) ++ addi 1, 1, -288 ++ mflr 6 ++ std 6, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC12 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 6, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 6, 0(6) ++ ld 3,0(31) ++# WAS addis 5,2,.LC2@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC2@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC2 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++# WAS addis 5,2,.LC4@toc@ha ++# WAS addis 6,2,function@toc@ha ++# WAS addi 5,5,.LC4@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC4 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addi 6,6,function@toc@l ++ addi 1, 1, -288 ++ mflr 6 ++ std 6, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 6, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++# WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long ++# WAS ld 6,.LC13@toc@l(6) ++ addi 1, 1, -288 ++ mflr 6 ++ std 6, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC13 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 6, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 6, 0(6) ++ ld 3,0(31) ++# WAS addis 5,2,.LC5@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC5@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC5 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++# WAS addis 5,2,.LC7@toc@ha ++ addi 6,30,5 ++# WAS addi 5,5,.LC7@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC7 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ addis 6,30,0x5 ++# WAS addis 5,2,.LC8@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC8@toc@l ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC8 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ addi 6,6,-29404 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++# WAS bl exported_function ++ bl .Lexported_function_local_entry ++ nop ++ addi 1,1,112 ++ ld 0,16(1) ++ ld 30,-16(1) ++ ld 31,-8(1) ++ mtlr 0 ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,2,0,0 ++ .size function,.-function ++ .globl kExportedString ++# WAS .section .rodata ++.text ++ .align 4 ++ .set .LANCHOR0,. + 0 ++ .type kString, @object ++ .size kString, 12 ++.LkString_local_target: ++kString: ++ .string "hello world" ++ .zero 4 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++.LkGiantArray_local_target: ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++.LkExportedString_local_target: ++kExportedString: ++ .string "hello world, more visibly" ++# WAS .section .rodata.str1.8,"aMS",@progbits,1 ++.text ++ .align 3 ++.LC1: ++ ++ .string "kString is %p\n" ++ .zero 1 ++.LC2: ++ ++ .string "kExportedString is %p\n" ++ .zero 1 ++.LC4: ++ ++ .string "function is %p\n" ++.LC5: ++ ++ .string "exported_function is %p\n" ++ .zero 7 ++.LC7: ++ ++ .string "&kString[5] is %p\n" ++ .zero 5 ++.LC8: ++ ++ .string "&kGiantArray[0x12345] is %p\n" ++ .section ".bss" ++ .align 2 ++ .type bss, @object ++ .size bss, 20 ++bss: ++.Lbss_local_target: ++ ++ .zero 20 ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits ++.text ++.loc 1 2 0 ++BORINGSSL_bcm_text_end: ++.section ".toc", "aw" ++.Lredirector_toc___fprintf_chk: ++.quad __fprintf_chk ++.text ++.type bcm_redirector___fprintf_chk, @function ++bcm_redirector___fprintf_chk: ++ std 2, 24(1) ++ addis 12, 2, .Lredirector_toc___fprintf_chk@toc@ha ++ ld 12, .Lredirector_toc___fprintf_chk@toc@l(12) ++ mtctr 12 ++ bctr ++.type bss_bss_get, @function ++bss_bss_get: ++ addis 3, 2, .Lbss_local_target@toc@ha ++ addi 3, 3, .Lbss_local_target@toc@l ++ blr ++.type bcm_loadtoc__dot_LANCHOR0, @function ++bcm_loadtoc__dot_LANCHOR0: ++.Lbcm_loadtoc__dot_LANCHOR0: ++ addis 3, 2, .LANCHOR0@toc@ha ++ addi 3, 3, .LANCHOR0@toc@l ++ blr ++.type bcm_loadtoc__dot_LC0, @function ++bcm_loadtoc__dot_LC0: ++.Lbcm_loadtoc__dot_LC0: ++ addis 3, 2, .LC0@toc@ha ++ addi 3, 3, .LC0@toc@l ++ blr ++.type bcm_loadtoc__dot_LC1, @function ++bcm_loadtoc__dot_LC1: ++.Lbcm_loadtoc__dot_LC1: ++ addis 3, 2, .LC1@toc@ha ++ addi 3, 3, .LC1@toc@l ++ blr ++.type bcm_loadtoc__dot_LC11, @function ++bcm_loadtoc__dot_LC11: ++.Lbcm_loadtoc__dot_LC11: ++ addis 3, 2, .LC11@toc@ha ++ addi 3, 3, .LC11@toc@l ++ blr ++.type bcm_loadtoc__dot_LC12, @function ++bcm_loadtoc__dot_LC12: ++.Lbcm_loadtoc__dot_LC12: ++ addis 3, 2, .LC12@toc@ha ++ addi 3, 3, .LC12@toc@l ++ blr ++.type bcm_loadtoc__dot_LC13, @function ++bcm_loadtoc__dot_LC13: ++.Lbcm_loadtoc__dot_LC13: ++ addis 3, 2, .LC13@toc@ha ++ addi 3, 3, .LC13@toc@l ++ blr ++.type bcm_loadtoc__dot_LC2, @function ++bcm_loadtoc__dot_LC2: ++.Lbcm_loadtoc__dot_LC2: ++ addis 3, 2, .LC2@toc@ha ++ addi 3, 3, .LC2@toc@l ++ blr ++.type bcm_loadtoc__dot_LC3, @function ++bcm_loadtoc__dot_LC3: ++.Lbcm_loadtoc__dot_LC3: ++ addis 3, 2, .LC3@toc@ha ++ addi 3, 3, .LC3@toc@l ++ blr ++.type bcm_loadtoc__dot_LC4, @function ++bcm_loadtoc__dot_LC4: ++.Lbcm_loadtoc__dot_LC4: ++ addis 3, 2, .LC4@toc@ha ++ addi 3, 3, .LC4@toc@l ++ blr ++.type bcm_loadtoc__dot_LC5, @function ++bcm_loadtoc__dot_LC5: ++.Lbcm_loadtoc__dot_LC5: ++ addis 3, 2, .LC5@toc@ha ++ addi 3, 3, .LC5@toc@l ++ blr ++.type bcm_loadtoc__dot_LC6, @function ++bcm_loadtoc__dot_LC6: ++.Lbcm_loadtoc__dot_LC6: ++ addis 3, 2, .LC6@toc@ha ++ addi 3, 3, .LC6@toc@l ++ blr ++.type bcm_loadtoc__dot_LC7, @function ++bcm_loadtoc__dot_LC7: ++.Lbcm_loadtoc__dot_LC7: ++ addis 3, 2, .LC7@toc@ha ++ addi 3, 3, .LC7@toc@l ++ blr ++.type bcm_loadtoc__dot_LC8, @function ++bcm_loadtoc__dot_LC8: ++.Lbcm_loadtoc__dot_LC8: ++ addis 3, 2, .LC8@toc@ha ++ addi 3, 3, .LC8@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfunction_local_target, @function ++bcm_loadtoc__dot_Lfunction_local_target: ++.Lbcm_loadtoc__dot_Lfunction_local_target: ++ addis 3, 2, .Lfunction_local_target@toc@ha ++ addi 3, 3, .Lfunction_local_target@toc@l ++ blr ++.LBORINGSSL_external_toc: ++.quad .TOC.-.LBORINGSSL_external_toc ++.type BORINGSSL_bcm_text_hash, @object ++.size BORINGSSL_bcm_text_hash, 32 ++BORINGSSL_bcm_text_hash: ++.byte 0xae ++.byte 0x2c ++.byte 0xea ++.byte 0x2a ++.byte 0xbd ++.byte 0xa6 ++.byte 0xf3 ++.byte 0xec ++.byte 0x97 ++.byte 0x7f ++.byte 0x9b ++.byte 0xf6 ++.byte 0x94 ++.byte 0x9a ++.byte 0xfc ++.byte 0x83 ++.byte 0x68 ++.byte 0x27 ++.byte 0xcb ++.byte 0xa0 ++.byte 0xa0 ++.byte 0x9f ++.byte 0x6b ++.byte 0x6f ++.byte 0xde ++.byte 0x52 ++.byte 0xcd ++.byte 0xe2 ++.byte 0xcd ++.byte 0xff ++.byte 0x31 ++.byte 0x80 +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s +@@ -0,0 +1,23 @@ ++ .text ++foo: ++ # TOC references may have offsets. ++ addis 3, 2, 5+foo@toc@ha ++ addi 3, 3, 10+foo@toc@l ++ ++ addis 3, 2, 15+foo@toc@ha ++ addi 3, 3, 20+foo@toc@l ++ ++ addis 4, 2, foo@toc@ha ++ addi 4, 4, foo@toc@l ++ ++ addis 5, 2, 5+foo@toc@ha ++ ld 5, 10+foo@toc@l(5) ++ ++ addis 4, 2, foo-10@toc@ha ++ addi 4, 4, foo-10@toc@l ++ ++ addis 4, 2, foo@toc@ha+25 ++ addi 4, 4, foo@toc@l+25 ++ ++ addis 4, 2, 1+foo-2@toc@ha+3 ++ addi 4, 4, 1+foo-2@toc@l+3 +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s +@@ -0,0 +1,178 @@ ++.text ++.file 1 "inserted_by_delocate.cc" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .text ++.Lfoo_local_target: ++foo: ++ # TOC references may have offsets. ++# WAS addis 3, 2, 5+foo@toc@ha ++# WAS addi 3, 3, 10+foo@toc@l ++ addi 1, 1, -288 ++ mflr 3 ++ std 3, -8(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__plus_10 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 3, -24(1) ++ addi 1, 1, 288 ++ ++# WAS addis 3, 2, 15+foo@toc@ha ++# WAS addi 3, 3, 20+foo@toc@l ++ addi 1, 1, -288 ++ mflr 3 ++ std 3, -8(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__plus_20 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 3, -24(1) ++ addi 1, 1, 288 ++ ++# WAS addis 4, 2, foo@toc@ha ++# WAS addi 4, 4, foo@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ++# WAS addis 5, 2, 5+foo@toc@ha ++# WAS ld 5, 10+foo@toc@l(5) ++ addi 1, 1, -288 ++ mflr 5 ++ std 5, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__plus_10 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 5, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ld 5, 0(5) ++ ++# WAS addis 4, 2, foo-10@toc@ha ++# WAS addi 4, 4, foo-10@toc@l ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__minus_10 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ++# WAS addis 4, 2, foo@toc@ha+25 ++# WAS addi 4, 4, foo@toc@l+25 ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__plus_25 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ ++# WAS addis 4, 2, 1+foo-2@toc@ha+3 ++# WAS addi 4, 4, 1+foo-2@toc@l+3 ++ addi 1, 1, -288 ++ mflr 4 ++ std 4, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_Lfoo_local_target__plus_1_minus_2_plus_3 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 4, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++.text ++.loc 1 2 0 ++BORINGSSL_bcm_text_end: ++.type bcm_loadtoc__dot_Lfoo_local_target, @function ++bcm_loadtoc__dot_Lfoo_local_target: ++.Lbcm_loadtoc__dot_Lfoo_local_target: ++ addis 3, 2, .Lfoo_local_target@toc@ha ++ addi 3, 3, .Lfoo_local_target@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfoo_local_target__plus_1_minus_2_plus_3, @function ++bcm_loadtoc__dot_Lfoo_local_target__plus_1_minus_2_plus_3: ++.Lbcm_loadtoc__dot_Lfoo_local_target__plus_1_minus_2_plus_3: ++ addis 3, 2, .Lfoo_local_target+1-2+3@toc@ha ++ addi 3, 3, .Lfoo_local_target+1-2+3@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfoo_local_target__plus_10, @function ++bcm_loadtoc__dot_Lfoo_local_target__plus_10: ++.Lbcm_loadtoc__dot_Lfoo_local_target__plus_10: ++ addis 3, 2, .Lfoo_local_target+10@toc@ha ++ addi 3, 3, .Lfoo_local_target+10@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfoo_local_target__plus_20, @function ++bcm_loadtoc__dot_Lfoo_local_target__plus_20: ++.Lbcm_loadtoc__dot_Lfoo_local_target__plus_20: ++ addis 3, 2, .Lfoo_local_target+20@toc@ha ++ addi 3, 3, .Lfoo_local_target+20@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfoo_local_target__plus_25, @function ++bcm_loadtoc__dot_Lfoo_local_target__plus_25: ++.Lbcm_loadtoc__dot_Lfoo_local_target__plus_25: ++ addis 3, 2, .Lfoo_local_target+25@toc@ha ++ addi 3, 3, .Lfoo_local_target+25@toc@l ++ blr ++.type bcm_loadtoc__dot_Lfoo_local_target__minus_10, @function ++bcm_loadtoc__dot_Lfoo_local_target__minus_10: ++.Lbcm_loadtoc__dot_Lfoo_local_target__minus_10: ++ addis 3, 2, .Lfoo_local_target-10@toc@ha ++ addi 3, 3, .Lfoo_local_target-10@toc@l ++ blr ++.LBORINGSSL_external_toc: ++.quad .TOC.-.LBORINGSSL_external_toc ++.type BORINGSSL_bcm_text_hash, @object ++.size BORINGSSL_bcm_text_hash, 32 ++BORINGSSL_bcm_text_hash: ++.byte 0xae ++.byte 0x2c ++.byte 0xea ++.byte 0x2a ++.byte 0xbd ++.byte 0xa6 ++.byte 0xf3 ++.byte 0xec ++.byte 0x97 ++.byte 0x7f ++.byte 0x9b ++.byte 0xf6 ++.byte 0x94 ++.byte 0x9a ++.byte 0xfc ++.byte 0x83 ++.byte 0x68 ++.byte 0x27 ++.byte 0xcb ++.byte 0xa0 ++.byte 0xa0 ++.byte 0x9f ++.byte 0x6b ++.byte 0x6f ++.byte 0xde ++.byte 0x52 ++.byte 0xcd ++.byte 0xe2 ++.byte 0xcd ++.byte 0xff ++.byte 0x31 ++.byte 0x80 +Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc ++++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc +@@ -377,6 +377,10 @@ static void sha1_block_data_order(uint32 + return; + } + #endif ++#if defined(SHA1_ASM_PPC64) ++ sha1_block_data_order_ppc64(state, data, num); ++ return; ++#endif + sha1_block_data_order_nohw(state, data, num); + } + +Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/build.json ++++ chromium-144.0.7559.59/third_party/boringssl/src/build.json +@@ -130,6 +130,10 @@ + {"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"}, + {"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"} + ], ++ "perlasm_ppc64le": [ ++ {"src": "crypto/fipsmodule/aes/asm/aesp8-ppc.pl"}, ++ {"src": "crypto/fipsmodule/aes/asm/ghashp8-ppc.pl"} ++ ], + "perlasm_x86": [ + {"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"}, + {"src": "crypto/fipsmodule/bn/asm/bn-586.pl"}, +@@ -239,6 +243,7 @@ + "crypto/cpu_arm_freebsd.cc", + "crypto/cpu_arm_linux.cc", + "crypto/cpu_intel.cc", ++ "crypto/cpu_ppc64le.cc", + "crypto/crypto.cc", + "crypto/curve25519/curve25519.cc", + "crypto/curve25519/curve25519_64_adx.cc", +@@ -805,6 +810,9 @@ + "perlasm_arm": [ + {"src": "crypto/test/asm/trampoline-armv4.pl"} + ], ++ "perlasm_ppc64le": [ ++ {"src": "crypto/test/asm/trampoline-ppc.pl"} ++ ], + "perlasm_x86": [ + {"src": "crypto/test/asm/trampoline-x86.pl"} + ], +Index: chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/pregenerate/build.go ++++ chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go +@@ -38,6 +38,7 @@ type InputTarget struct { + // architecture. + PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"` + PerlasmArm []PerlasmSource `json:"perlasm_arm,omitempty"` ++ PerlasmPPC64LE []PerlasmSource `json:"perlasm_ppc64le,omitempty"` + PerlasmX86 []PerlasmSource `json:"perlasm_x86,omitempty"` + PerlasmX86_64 []PerlasmSource `json:"perlasm_x86_64,omitempty"` + } +@@ -116,6 +117,9 @@ func (in *InputTarget) Pregenerate(name + for _, p := range in.PerlasmArm { + addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux32"}) + } ++ for _, p := range in.PerlasmPPC64LE { ++ addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux64le"}) ++ } + for _, p := range in.PerlasmX86 { + addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC"}) + addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"elf", "-fPIC"}) +Index: chromium-144.0.7559.59/third_party/boringssl/README.ppc64le +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/README.ppc64le +@@ -0,0 +1,8 @@ ++============================================================== ++To recreate boringssl pregenerated files patch for ppc64le: ++ ++cd third_party/boringssl/src ++cp -Rp gen gen.orig ++go run ./util/pregenerate ++cd ../../../../ ++diff -urN chromium-*/third_party/boringssl/src/gen.orig chromium-*/third_party/boringssl/src/gen +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.gni ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni +@@ -123,6 +123,7 @@ bcm_sources_asm = [ + "gen/bcm/aesv8-gcm-armv8-apple.S", + "gen/bcm/aesv8-gcm-armv8-linux.S", + "gen/bcm/aesv8-gcm-armv8-win.S", ++ "gen/bcm/aesp8-ppc-linux.S", + "gen/bcm/armv4-mont-linux.S", + "gen/bcm/armv8-mont-apple.S", + "gen/bcm/armv8-mont-linux.S", +@@ -139,6 +140,7 @@ bcm_sources_asm = [ + "gen/bcm/ghash-neon-armv8-apple.S", + "gen/bcm/ghash-neon-armv8-linux.S", + "gen/bcm/ghash-neon-armv8-win.S", ++ "gen/bcm/ghashp8-ppc-linux.S", + "gen/bcm/ghash-ssse3-x86-apple.S", + "gen/bcm/ghash-ssse3-x86-linux.S", + "gen/bcm/ghash-ssse3-x86_64-apple.S", +@@ -338,6 +340,7 @@ crypto_sources = [ + "crypto/cpu_arm_freebsd.cc", + "crypto/cpu_arm_linux.cc", + "crypto/cpu_intel.cc", ++ "crypto/cpu_ppc64le.cc", + "crypto/crypto.cc", + "crypto/curve25519/curve25519.cc", + "crypto/curve25519/curve25519_64_adx.cc", diff --git a/0001-Add-ppc64-target-to-libaom.patch b/0001-Add-ppc64-target-to-libaom.patch new file mode 100644 index 0000000..b6d5ffe --- /dev/null +++ b/0001-Add-ppc64-target-to-libaom.patch @@ -0,0 +1,57 @@ +From 40309fb53e39477490fd6928ebe67c4fb78de380 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Sun, 10 Mar 2019 21:01:37 -0500 +Subject: [PATCH] Add ppc64 target to libaom + +--- + third_party/libaom/BUILD.gn | 12 ++++++++++++ + third_party/libaom/cmake_update.sh | 3 +++ + 2 files changed, 15 insertions(+) + +Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libaom/BUILD.gn ++++ chromium-144.0.7559.59/third_party/libaom/BUILD.gn +@@ -299,6 +299,18 @@ if (current_cpu == "arm64" || current_cp + } + } + ++if (current_cpu == "ppc64") { ++ source_set("libaom_intrinsics_vsx") { ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ ":libaom_config" ] ++ sources = [ ++ "//third_party/libaom/source/libaom/aom_ports/ppc_cpudetect.c", ++ ] ++ sources += aom_av1_common_intrin_vsx ++ } ++} ++ + static_library("libaom") { + check_includes = false + if (!is_debug && is_win) { +@@ -368,6 +380,9 @@ static_library("libaom") { + # This is needed by all arm boards due to aom_arm_cpu_caps() + sources += [ "source/libaom/aom_ports/aarch32_cpudetect.c" ] + } ++ if (current_cpu == "ppc64") { ++ deps += [ ":libaom_intrinsics_vsx" ] ++ } + if (is_android) { + deps += [ "//third_party/cpu_features:ndk_compat" ] + } +Index: chromium-144.0.7559.59/third_party/libaom/cmake_update.sh +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libaom/cmake_update.sh ++++ chromium-144.0.7559.59/third_party/libaom/cmake_update.sh +@@ -167,6 +167,9 @@ egrep \ + "#define [A-Z0-9_]+[[:space:]]+[01]" "${CFG}/win/ia32/config/aom_config.h" \ + | awk '{print "%define " $2 " " $3}' > "${CFG}/win/ia32/config/aom_config.asm" + ++reset_dirs linux/ppc64 ++gen_config_files linux/ppc64 "${toolchain}/ppc-linux-gcc.cmake ${all_platforms}" ++ + # Copy linux configurations and modify for Windows. + reset_dirs win/x64 + cp "${CFG}/linux/x64/config"/* "${CFG}/win/x64/config/" diff --git a/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch new file mode 100644 index 0000000..2f82037 --- /dev/null +++ b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch @@ -0,0 +1,1919 @@ +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm +@@ -0,0 +1,100 @@ ++; ++; Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++; ++; This source code is subject to the terms of the BSD 2 Clause License and ++; the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++; was not distributed with this source code in the LICENSE file, you can ++; obtain it at www.aomedia.org/license/software. If the Alliance for Open ++; Media Patent License 1.0 was not distributed with this source code in the ++; PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++; ++AOM_ARCH_AARCH64 equ 0 ++AOM_ARCH_ARM equ 0 ++AOM_ARCH_PPC equ 1 ++AOM_ARCH_RISCV equ 0 ++AOM_ARCH_X86 equ 0 ++AOM_ARCH_X86_64 equ 0 ++CONFIG_ACCOUNTING equ 0 ++CONFIG_ANALYZER equ 0 ++CONFIG_AV1_DECODER equ 0 ++CONFIG_AV1_ENCODER equ 1 ++CONFIG_AV1_HIGHBITDEPTH equ 0 ++CONFIG_AV1_TEMPORAL_DENOISING equ 1 ++CONFIG_BIG_ENDIAN equ 0 ++CONFIG_BITRATE_ACCURACY equ 0 ++CONFIG_BITRATE_ACCURACY_BL equ 0 ++CONFIG_BITSTREAM_DEBUG equ 0 ++CONFIG_COEFFICIENT_RANGE_CHECKING equ 0 ++CONFIG_COLLECT_COMPONENT_TIMING equ 0 ++CONFIG_COLLECT_PARTITION_STATS equ 0 ++CONFIG_COLLECT_RD_STATS equ 0 ++CONFIG_CWG_C013 equ 0 ++CONFIG_CWG_E050 equ 0 ++CONFIG_DEBUG equ 0 ++CONFIG_DENOISE equ 1 ++CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 equ 1 ++CONFIG_ENTROPY_STATS equ 0 ++CONFIG_EXCLUDE_SIMD_MISMATCH equ 0 ++CONFIG_FPMT_TEST equ 0 ++CONFIG_GCC equ 1 ++CONFIG_GCOV equ 0 ++CONFIG_GPROF equ 0 ++CONFIG_HIGHWAY equ 0 ++CONFIG_INSPECTION equ 0 ++CONFIG_INTERNAL_STATS equ 0 ++CONFIG_INTER_STATS_ONLY equ 0 ++CONFIG_LIBVMAF_PSNR_PEAK equ 1 ++CONFIG_LIBYUV equ 1 ++CONFIG_MAX_DECODE_PROFILE equ 2 ++CONFIG_MISMATCH_DEBUG equ 0 ++CONFIG_MULTITHREAD equ 1 ++CONFIG_NN_V2 equ 0 ++CONFIG_NORMAL_TILE_MODE equ 0 ++CONFIG_OPTICAL_FLOW_API equ 0 ++CONFIG_OS_SUPPORT equ 1 ++CONFIG_OUTPUT_FRAME_SIZE equ 0 ++CONFIG_PARTITION_SEARCH_ORDER equ 0 ++CONFIG_PIC equ 1 ++CONFIG_QUANT_MATRIX equ 0 ++CONFIG_RATECTRL_LOG equ 0 ++CONFIG_RD_COMMAND equ 0 ++CONFIG_RD_DEBUG equ 0 ++CONFIG_REALTIME_ONLY equ 1 ++CONFIG_RT_ML_PARTITIONING equ 0 ++CONFIG_RUNTIME_CPU_DETECT equ 0 ++CONFIG_SALIENCY_MAP equ 0 ++CONFIG_SHARED equ 0 ++CONFIG_SIZE_LIMIT equ 1 ++CONFIG_SPEED_STATS equ 0 ++CONFIG_SVT_AV1 equ 1 ++CONFIG_TFLITE equ 0 ++CONFIG_THREE_PASS equ 0 ++CONFIG_TUNE_BUTTERAUGLI equ 0 ++CONFIG_TUNE_VMAF equ 0 ++CONFIG_WEBM_IO equ 1 ++DECODE_HEIGHT_LIMIT equ 16384 ++DECODE_WIDTH_LIMIT equ 16384 ++FORCE_HIGHBITDEPTH_DECODING equ 0 ++HAVE_ARM_CRC32 equ 0 ++HAVE_AVX equ 0 ++HAVE_AVX2 equ 0 ++HAVE_AVX512 equ 0 ++HAVE_FEXCEPT equ 1 ++HAVE_MMX equ 0 ++HAVE_NEON equ 0 ++HAVE_NEON_DOTPROD equ 0 ++HAVE_NEON_I8MM equ 0 ++HAVE_PTHREAD_H equ 1 ++HAVE_RVV equ 0 ++HAVE_SSE equ 0 ++HAVE_SSE2 equ 0 ++HAVE_SSE3 equ 0 ++HAVE_SSE4_1 equ 0 ++HAVE_SSE4_2 equ 0 ++HAVE_SSSE3 equ 0 ++HAVE_SVE equ 0 ++HAVE_SVE2 equ 0 ++HAVE_UNISTD_H equ 1 ++HAVE_VSX equ 1 ++HAVE_WXWIDGETS equ 0 ++STATIC_LINK_JXL equ 0 +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c +@@ -0,0 +1,13 @@ ++/* ++ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * ++ * This source code is subject to the terms of the BSD 2 Clause License and ++ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++ * was not distributed with this source code in the LICENSE file, you can ++ * obtain it at www.aomedia.org/license/software. If the Alliance for Open ++ * Media Patent License 1.0 was not distributed with this source code in the ++ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++ */ ++#include "aom/aom_codec.h" ++static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; ++const char *aom_codec_build_config(void) {return cfg;} +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h +@@ -0,0 +1,103 @@ ++/* ++ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * ++ * This source code is subject to the terms of the BSD 2 Clause License and ++ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++ * was not distributed with this source code in the LICENSE file, you can ++ * obtain it at www.aomedia.org/license/software. If the Alliance for Open ++ * Media Patent License 1.0 was not distributed with this source code in the ++ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++ */ ++#ifndef AOM_CONFIG_H_ ++#define AOM_CONFIG_H_ ++#define AOM_ARCH_AARCH64 0 ++#define AOM_ARCH_ARM 0 ++#define AOM_ARCH_PPC 1 ++#define AOM_ARCH_RISCV 0 ++#define AOM_ARCH_X86 0 ++#define AOM_ARCH_X86_64 0 ++#define CONFIG_ACCOUNTING 0 ++#define CONFIG_ANALYZER 0 ++#define CONFIG_AV1_DECODER 0 ++#define CONFIG_AV1_ENCODER 1 ++#define CONFIG_AV1_HIGHBITDEPTH 0 ++#define CONFIG_AV1_TEMPORAL_DENOISING 1 ++#define CONFIG_BIG_ENDIAN 0 ++#define CONFIG_BITRATE_ACCURACY 0 ++#define CONFIG_BITRATE_ACCURACY_BL 0 ++#define CONFIG_BITSTREAM_DEBUG 0 ++#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 ++#define CONFIG_COLLECT_COMPONENT_TIMING 0 ++#define CONFIG_COLLECT_PARTITION_STATS 0 ++#define CONFIG_COLLECT_RD_STATS 0 ++#define CONFIG_CWG_C013 0 ++#define CONFIG_CWG_E050 0 ++#define CONFIG_DEBUG 0 ++#define CONFIG_DENOISE 1 ++#define CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 1 ++#define CONFIG_ENTROPY_STATS 0 ++#define CONFIG_EXCLUDE_SIMD_MISMATCH 0 ++#define CONFIG_FPMT_TEST 0 ++#define CONFIG_GCC 1 ++#define CONFIG_GCOV 0 ++#define CONFIG_GPROF 0 ++#define CONFIG_HIGHWAY 0 ++#define CONFIG_INSPECTION 0 ++#define CONFIG_INTERNAL_STATS 0 ++#define CONFIG_INTER_STATS_ONLY 0 ++#define CONFIG_LIBVMAF_PSNR_PEAK 1 ++#define CONFIG_LIBYUV 1 ++#define CONFIG_MAX_DECODE_PROFILE 2 ++#define CONFIG_MISMATCH_DEBUG 0 ++#define CONFIG_MULTITHREAD 1 ++#define CONFIG_NN_V2 0 ++#define CONFIG_NORMAL_TILE_MODE 0 ++#define CONFIG_OPTICAL_FLOW_API 0 ++#define CONFIG_OS_SUPPORT 1 ++#define CONFIG_OUTPUT_FRAME_SIZE 0 ++#define CONFIG_PARTITION_SEARCH_ORDER 0 ++#define CONFIG_PIC 1 ++#define CONFIG_QUANT_MATRIX 0 ++#define CONFIG_RATECTRL_LOG 0 ++#define CONFIG_RD_COMMAND 0 ++#define CONFIG_RD_DEBUG 0 ++#define CONFIG_REALTIME_ONLY 1 ++#define CONFIG_RT_ML_PARTITIONING 0 ++#define CONFIG_RUNTIME_CPU_DETECT 0 ++#define CONFIG_SALIENCY_MAP 0 ++#define CONFIG_SHARED 0 ++#define CONFIG_SIZE_LIMIT 1 ++#define CONFIG_SPEED_STATS 0 ++#define CONFIG_SVT_AV1 1 ++#define CONFIG_TFLITE 0 ++#define CONFIG_THREE_PASS 0 ++#define CONFIG_TUNE_BUTTERAUGLI 0 ++#define CONFIG_TUNE_VMAF 0 ++#define CONFIG_WEBM_IO 1 ++#define DECODE_HEIGHT_LIMIT 16384 ++#define DECODE_WIDTH_LIMIT 16384 ++#define FORCE_HIGHBITDEPTH_DECODING 0 ++#define HAVE_ARM_CRC32 0 ++#define HAVE_AVX 0 ++#define HAVE_AVX2 0 ++#define HAVE_AVX512 0 ++#define HAVE_FEXCEPT 1 ++#define HAVE_MMX 0 ++#define HAVE_NEON 0 ++#define HAVE_NEON_DOTPROD 0 ++#define HAVE_NEON_I8MM 0 ++#define HAVE_PTHREAD_H 1 ++#define HAVE_RVV 0 ++#define HAVE_SSE 0 ++#define HAVE_SSE2 0 ++#define HAVE_SSE3 0 ++#define HAVE_SSE4_1 0 ++#define HAVE_SSE4_2 0 ++#define HAVE_SSSE3 0 ++#define HAVE_SVE 0 ++#define HAVE_SVE2 0 ++#define HAVE_UNISTD_H 1 ++#define HAVE_VSX 1 ++#define HAVE_WXWIDGETS 0 ++#define STATIC_LINK_JXL 0 ++#endif // AOM_CONFIG_H_ +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h +@@ -0,0 +1,1177 @@ ++/* ++ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * ++ * This source code is subject to the terms of the BSD 2 Clause License and ++ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++ * was not distributed with this source code in the LICENSE file, you can ++ * obtain it at www.aomedia.org/license/software. If the Alliance for Open ++ * Media Patent License 1.0 was not distributed with this source code in the ++ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++ */ ++ ++// This file is generated. Do not edit. ++#ifndef AOM_DSP_RTCD_H_ ++#define AOM_DSP_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++/* ++ * DSP ++ */ ++ ++#include "aom/aom_integer.h" ++#include "aom_dsp/aom_dsp_common.h" ++#include "av1/common/blockd.h" ++#include "av1/common/enums.h" ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++unsigned int aom_avg_4x4_c(const uint8_t *, int p); ++#define aom_avg_4x4 aom_avg_4x4_c ++ ++unsigned int aom_avg_8x8_c(const uint8_t *, int p); ++#define aom_avg_8x8 aom_avg_8x8_c ++ ++void aom_avg_8x8_quad_c(const uint8_t *s, int p, int x16_idx, int y16_idx, int *avg); ++#define aom_avg_8x8_quad aom_avg_8x8_quad_c ++ ++void aom_blend_a64_hmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); ++#define aom_blend_a64_hmask aom_blend_a64_hmask_c ++ ++void aom_blend_a64_mask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subw, int subh); ++#define aom_blend_a64_mask aom_blend_a64_mask_c ++ ++void aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h); ++#define aom_blend_a64_vmask aom_blend_a64_vmask_c ++ ++void aom_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); ++#define aom_comp_avg_pred aom_comp_avg_pred_c ++ ++void aom_comp_mask_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask); ++#define aom_comp_mask_pred aom_comp_mask_pred_c ++ ++void aom_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); ++#define aom_convolve8_horiz aom_convolve8_horiz_c ++ ++void aom_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); ++#define aom_convolve8_vert aom_convolve8_vert_c ++ ++void aom_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, int w, int h); ++#define aom_convolve_copy aom_convolve_copy_c ++ ++void aom_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_16x16 aom_dc_128_predictor_16x16_c ++ ++void aom_dc_128_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c ++ ++void aom_dc_128_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c ++ ++void aom_dc_128_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_32x16 aom_dc_128_predictor_32x16_c ++ ++void aom_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_32x32 aom_dc_128_predictor_32x32_c ++ ++void aom_dc_128_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c ++ ++void aom_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_4x4 aom_dc_128_predictor_4x4_c ++ ++void aom_dc_128_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c ++ ++void aom_dc_128_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_64x32 aom_dc_128_predictor_64x32_c ++ ++void aom_dc_128_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_64x64 aom_dc_128_predictor_64x64_c ++ ++void aom_dc_128_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c ++ ++void aom_dc_128_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_8x4 aom_dc_128_predictor_8x4_c ++ ++void aom_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_128_predictor_8x8 aom_dc_128_predictor_8x8_c ++ ++void aom_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_16x16 aom_dc_left_predictor_16x16_c ++ ++void aom_dc_left_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c ++ ++void aom_dc_left_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c ++ ++void aom_dc_left_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_32x16 aom_dc_left_predictor_32x16_c ++ ++void aom_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_32x32 aom_dc_left_predictor_32x32_c ++ ++void aom_dc_left_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c ++ ++void aom_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_4x4 aom_dc_left_predictor_4x4_c ++ ++void aom_dc_left_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c ++ ++void aom_dc_left_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_64x32 aom_dc_left_predictor_64x32_c ++ ++void aom_dc_left_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_64x64 aom_dc_left_predictor_64x64_c ++ ++void aom_dc_left_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c ++ ++void aom_dc_left_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_8x4 aom_dc_left_predictor_8x4_c ++ ++void aom_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_left_predictor_8x8 aom_dc_left_predictor_8x8_c ++ ++void aom_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_16x16 aom_dc_predictor_16x16_c ++ ++void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c ++ ++void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c ++ ++void aom_dc_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_32x16 aom_dc_predictor_32x16_c ++ ++void aom_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_32x32 aom_dc_predictor_32x32_c ++ ++void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c ++ ++void aom_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_4x4 aom_dc_predictor_4x4_c ++ ++void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c ++ ++void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_64x32 aom_dc_predictor_64x32_c ++ ++void aom_dc_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_64x64 aom_dc_predictor_64x64_c ++ ++void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c ++ ++void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_8x4 aom_dc_predictor_8x4_c ++ ++void aom_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_predictor_8x8 aom_dc_predictor_8x8_c ++ ++void aom_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_16x16 aom_dc_top_predictor_16x16_c ++ ++void aom_dc_top_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c ++ ++void aom_dc_top_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c ++ ++void aom_dc_top_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_32x16 aom_dc_top_predictor_32x16_c ++ ++void aom_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_32x32 aom_dc_top_predictor_32x32_c ++ ++void aom_dc_top_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c ++ ++void aom_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_4x4 aom_dc_top_predictor_4x4_c ++ ++void aom_dc_top_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c ++ ++void aom_dc_top_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_64x32 aom_dc_top_predictor_64x32_c ++ ++void aom_dc_top_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_64x64 aom_dc_top_predictor_64x64_c ++ ++void aom_dc_top_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c ++ ++void aom_dc_top_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_8x4 aom_dc_top_predictor_8x4_c ++ ++void aom_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_dc_top_predictor_8x8 aom_dc_top_predictor_8x8_c ++ ++void aom_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); ++#define aom_fdct4x4 aom_fdct4x4_c ++ ++void aom_fdct4x4_lp_c(const int16_t *input, int16_t *output, int stride); ++#define aom_fdct4x4_lp aom_fdct4x4_lp_c ++ ++void aom_fft16x16_float_c(const float *input, float *temp, float *output); ++#define aom_fft16x16_float aom_fft16x16_float_c ++ ++void aom_fft2x2_float_c(const float *input, float *temp, float *output); ++#define aom_fft2x2_float aom_fft2x2_float_c ++ ++void aom_fft32x32_float_c(const float *input, float *temp, float *output); ++#define aom_fft32x32_float aom_fft32x32_float_c ++ ++void aom_fft4x4_float_c(const float *input, float *temp, float *output); ++#define aom_fft4x4_float aom_fft4x4_float_c ++ ++void aom_fft8x8_float_c(const float *input, float *temp, float *output); ++#define aom_fft8x8_float aom_fft8x8_float_c ++ ++void aom_get_blk_sse_sum_c(const int16_t *data, int stride, int bw, int bh, int *x_sum, int64_t *x2_sum); ++#define aom_get_blk_sse_sum aom_get_blk_sse_sum_c ++ ++void aom_get_var_sse_sum_16x16_dual_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse16x16, unsigned int *tot_sse, int *tot_sum, uint32_t *var16x16); ++#define aom_get_var_sse_sum_16x16_dual aom_get_var_sse_sum_16x16_dual_c ++ ++void aom_get_var_sse_sum_8x8_quad_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse8x8, int *sum8x8, unsigned int *tot_sse, int *tot_sum, uint32_t *var8x8); ++#define aom_get_var_sse_sum_8x8_quad aom_get_var_sse_sum_8x8_quad_c ++ ++void aom_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_16x16 aom_h_predictor_16x16_c ++ ++void aom_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_16x32 aom_h_predictor_16x32_c ++ ++void aom_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_16x8 aom_h_predictor_16x8_c ++ ++void aom_h_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_32x16 aom_h_predictor_32x16_c ++ ++void aom_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_32x32 aom_h_predictor_32x32_c ++ ++void aom_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_32x64 aom_h_predictor_32x64_c ++ ++void aom_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_4x4 aom_h_predictor_4x4_c ++ ++void aom_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_4x8 aom_h_predictor_4x8_c ++ ++void aom_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_64x32 aom_h_predictor_64x32_c ++ ++void aom_h_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_64x64 aom_h_predictor_64x64_c ++ ++void aom_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_8x16 aom_h_predictor_8x16_c ++ ++void aom_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_8x4 aom_h_predictor_8x4_c ++ ++void aom_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_h_predictor_8x8 aom_h_predictor_8x8_c ++ ++void aom_hadamard_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *coeff); ++#define aom_hadamard_16x16 aom_hadamard_16x16_c ++ ++void aom_hadamard_32x32_c(const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *coeff); ++#define aom_hadamard_32x32 aom_hadamard_32x32_c ++ ++void aom_hadamard_4x4_c(const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *coeff); ++#define aom_hadamard_4x4 aom_hadamard_4x4_c ++ ++void aom_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, tran_low_t *coeff); ++#define aom_hadamard_8x8 aom_hadamard_8x8_c ++ ++void aom_hadamard_lp_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); ++#define aom_hadamard_lp_16x16 aom_hadamard_lp_16x16_c ++ ++void aom_hadamard_lp_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); ++#define aom_hadamard_lp_8x8 aom_hadamard_lp_8x8_c ++ ++void aom_hadamard_lp_8x8_dual_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); ++#define aom_hadamard_lp_8x8_dual aom_hadamard_lp_8x8_dual_c ++ ++void aom_ifft16x16_float_c(const float *input, float *temp, float *output); ++#define aom_ifft16x16_float aom_ifft16x16_float_c ++ ++void aom_ifft2x2_float_c(const float *input, float *temp, float *output); ++#define aom_ifft2x2_float aom_ifft2x2_float_c ++ ++void aom_ifft32x32_float_c(const float *input, float *temp, float *output); ++#define aom_ifft32x32_float aom_ifft32x32_float_c ++ ++void aom_ifft4x4_float_c(const float *input, float *temp, float *output); ++#define aom_ifft4x4_float aom_ifft4x4_float_c ++ ++void aom_ifft8x8_float_c(const float *input, float *temp, float *output); ++#define aom_ifft8x8_float aom_ifft8x8_float_c ++ ++void aom_int_pro_col_c(int16_t *vbuf, const uint8_t *ref, const int ref_stride, const int width, const int height, int norm_factor); ++#define aom_int_pro_col aom_int_pro_col_c ++ ++void aom_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int width, const int height, int norm_factor); ++#define aom_int_pro_row aom_int_pro_row_c ++ ++void aom_lowbd_blend_a64_d16_mask_c(uint8_t *dst, uint32_t dst_stride, const CONV_BUF_TYPE *src0, uint32_t src0_stride, const CONV_BUF_TYPE *src1, uint32_t src1_stride, const uint8_t *mask, uint32_t mask_stride, int w, int h, int subw, int subh, ConvolveParams *conv_params); ++#define aom_lowbd_blend_a64_d16_mask aom_lowbd_blend_a64_d16_mask_c ++ ++void aom_lpf_horizontal_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_horizontal_14 aom_lpf_horizontal_14_c ++ ++void aom_lpf_horizontal_14_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_horizontal_14_dual aom_lpf_horizontal_14_dual_c ++ ++void aom_lpf_horizontal_14_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c ++ ++void aom_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_horizontal_4 aom_lpf_horizontal_4_c ++ ++void aom_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_horizontal_4_dual aom_lpf_horizontal_4_dual_c ++ ++void aom_lpf_horizontal_4_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c ++ ++void aom_lpf_horizontal_6_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_horizontal_6 aom_lpf_horizontal_6_c ++ ++void aom_lpf_horizontal_6_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_horizontal_6_dual aom_lpf_horizontal_6_dual_c ++ ++void aom_lpf_horizontal_6_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c ++ ++void aom_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_horizontal_8 aom_lpf_horizontal_8_c ++ ++void aom_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_horizontal_8_dual aom_lpf_horizontal_8_dual_c ++ ++void aom_lpf_horizontal_8_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c ++ ++void aom_lpf_vertical_14_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_vertical_14 aom_lpf_vertical_14_c ++ ++void aom_lpf_vertical_14_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_vertical_14_dual aom_lpf_vertical_14_dual_c ++ ++void aom_lpf_vertical_14_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c ++ ++void aom_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_vertical_4 aom_lpf_vertical_4_c ++ ++void aom_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_vertical_4_dual aom_lpf_vertical_4_dual_c ++ ++void aom_lpf_vertical_4_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c ++ ++void aom_lpf_vertical_6_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_vertical_6 aom_lpf_vertical_6_c ++ ++void aom_lpf_vertical_6_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_vertical_6_dual aom_lpf_vertical_6_dual_c ++ ++void aom_lpf_vertical_6_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c ++ ++void aom_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); ++#define aom_lpf_vertical_8 aom_lpf_vertical_8_c ++ ++void aom_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); ++#define aom_lpf_vertical_8_dual aom_lpf_vertical_8_dual_c ++ ++void aom_lpf_vertical_8_quad_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0); ++#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c ++ ++unsigned int aom_masked_sad128x128_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad128x128 aom_masked_sad128x128_c ++ ++unsigned int aom_masked_sad128x64_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad128x64 aom_masked_sad128x64_c ++ ++unsigned int aom_masked_sad16x16_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad16x16 aom_masked_sad16x16_c ++ ++unsigned int aom_masked_sad16x32_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad16x32 aom_masked_sad16x32_c ++ ++unsigned int aom_masked_sad16x8_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad16x8 aom_masked_sad16x8_c ++ ++unsigned int aom_masked_sad32x16_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad32x16 aom_masked_sad32x16_c ++ ++unsigned int aom_masked_sad32x32_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad32x32 aom_masked_sad32x32_c ++ ++unsigned int aom_masked_sad32x64_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad32x64 aom_masked_sad32x64_c ++ ++unsigned int aom_masked_sad4x4_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad4x4 aom_masked_sad4x4_c ++ ++unsigned int aom_masked_sad4x8_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad4x8 aom_masked_sad4x8_c ++ ++unsigned int aom_masked_sad64x128_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad64x128 aom_masked_sad64x128_c ++ ++unsigned int aom_masked_sad64x32_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad64x32 aom_masked_sad64x32_c ++ ++unsigned int aom_masked_sad64x64_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad64x64 aom_masked_sad64x64_c ++ ++unsigned int aom_masked_sad8x16_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad8x16 aom_masked_sad8x16_c ++ ++unsigned int aom_masked_sad8x4_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad8x4 aom_masked_sad8x4_c ++ ++unsigned int aom_masked_sad8x8_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask); ++#define aom_masked_sad8x8 aom_masked_sad8x8_c ++ ++unsigned int aom_masked_sub_pixel_variance128x128_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance128x128 aom_masked_sub_pixel_variance128x128_c ++ ++unsigned int aom_masked_sub_pixel_variance128x64_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance128x64 aom_masked_sub_pixel_variance128x64_c ++ ++unsigned int aom_masked_sub_pixel_variance16x16_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance16x16 aom_masked_sub_pixel_variance16x16_c ++ ++unsigned int aom_masked_sub_pixel_variance16x32_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance16x32 aom_masked_sub_pixel_variance16x32_c ++ ++unsigned int aom_masked_sub_pixel_variance16x8_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance16x8 aom_masked_sub_pixel_variance16x8_c ++ ++unsigned int aom_masked_sub_pixel_variance32x16_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance32x16 aom_masked_sub_pixel_variance32x16_c ++ ++unsigned int aom_masked_sub_pixel_variance32x32_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance32x32 aom_masked_sub_pixel_variance32x32_c ++ ++unsigned int aom_masked_sub_pixel_variance32x64_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance32x64 aom_masked_sub_pixel_variance32x64_c ++ ++unsigned int aom_masked_sub_pixel_variance4x4_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance4x4 aom_masked_sub_pixel_variance4x4_c ++ ++unsigned int aom_masked_sub_pixel_variance4x8_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance4x8 aom_masked_sub_pixel_variance4x8_c ++ ++unsigned int aom_masked_sub_pixel_variance64x128_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance64x128 aom_masked_sub_pixel_variance64x128_c ++ ++unsigned int aom_masked_sub_pixel_variance64x32_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance64x32 aom_masked_sub_pixel_variance64x32_c ++ ++unsigned int aom_masked_sub_pixel_variance64x64_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance64x64 aom_masked_sub_pixel_variance64x64_c ++ ++unsigned int aom_masked_sub_pixel_variance8x16_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance8x16 aom_masked_sub_pixel_variance8x16_c ++ ++unsigned int aom_masked_sub_pixel_variance8x4_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance8x4 aom_masked_sub_pixel_variance8x4_c ++ ++unsigned int aom_masked_sub_pixel_variance8x8_c(const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); ++#define aom_masked_sub_pixel_variance8x8 aom_masked_sub_pixel_variance8x8_c ++ ++void aom_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max); ++#define aom_minmax_8x8 aom_minmax_8x8_c ++ ++unsigned int aom_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); ++#define aom_mse16x16 aom_mse16x16_c ++ ++unsigned int aom_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); ++#define aom_mse16x8 aom_mse16x8_c ++ ++unsigned int aom_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); ++#define aom_mse8x16 aom_mse8x16_c ++ ++unsigned int aom_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); ++#define aom_mse8x8 aom_mse8x8_c ++ ++uint64_t aom_mse_16xh_16bit_c(uint8_t *dst, int dstride,uint16_t *src, int w, int h); ++#define aom_mse_16xh_16bit aom_mse_16xh_16bit_c ++ ++uint64_t aom_mse_wxh_16bit_c(uint8_t *dst, int dstride,uint16_t *src, int sstride, int w, int h); ++#define aom_mse_wxh_16bit aom_mse_wxh_16bit_c ++ ++void aom_paeth_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c ++ ++void aom_paeth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c ++ ++void aom_paeth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c ++ ++void aom_paeth_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c ++ ++void aom_paeth_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c ++ ++void aom_paeth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c ++ ++void aom_paeth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c ++ ++void aom_paeth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c ++ ++void aom_paeth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c ++ ++void aom_paeth_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c ++ ++void aom_paeth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c ++ ++void aom_paeth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c ++ ++void aom_paeth_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c ++ ++void aom_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define aom_quantize_b aom_quantize_b_c ++ ++void aom_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define aom_quantize_b_32x32 aom_quantize_b_32x32_c ++ ++void aom_quantize_b_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define aom_quantize_b_64x64 aom_quantize_b_64x64_c ++ ++unsigned int aom_sad128x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad128x128 aom_sad128x128_c ++ ++unsigned int aom_sad128x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad128x128_avg aom_sad128x128_avg_c ++ ++void aom_sad128x128x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad128x128x3d aom_sad128x128x3d_c ++ ++void aom_sad128x128x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad128x128x4d aom_sad128x128x4d_c ++ ++unsigned int aom_sad128x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad128x64 aom_sad128x64_c ++ ++unsigned int aom_sad128x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad128x64_avg aom_sad128x64_avg_c ++ ++void aom_sad128x64x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad128x64x3d aom_sad128x64x3d_c ++ ++void aom_sad128x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad128x64x4d aom_sad128x64x4d_c ++ ++unsigned int aom_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad16x16 aom_sad16x16_c ++ ++unsigned int aom_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad16x16_avg aom_sad16x16_avg_c ++ ++void aom_sad16x16x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x16x3d aom_sad16x16x3d_c ++ ++void aom_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x16x4d aom_sad16x16x4d_c ++ ++unsigned int aom_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad16x32 aom_sad16x32_c ++ ++unsigned int aom_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad16x32_avg aom_sad16x32_avg_c ++ ++void aom_sad16x32x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x32x3d aom_sad16x32x3d_c ++ ++void aom_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x32x4d aom_sad16x32x4d_c ++ ++unsigned int aom_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad16x8 aom_sad16x8_c ++ ++unsigned int aom_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad16x8_avg aom_sad16x8_avg_c ++ ++void aom_sad16x8x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x8x3d aom_sad16x8x3d_c ++ ++void aom_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad16x8x4d aom_sad16x8x4d_c ++ ++unsigned int aom_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad32x16 aom_sad32x16_c ++ ++unsigned int aom_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad32x16_avg aom_sad32x16_avg_c ++ ++void aom_sad32x16x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x16x3d aom_sad32x16x3d_c ++ ++void aom_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x16x4d aom_sad32x16x4d_c ++ ++unsigned int aom_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad32x32 aom_sad32x32_c ++ ++unsigned int aom_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad32x32_avg aom_sad32x32_avg_c ++ ++void aom_sad32x32x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x32x3d aom_sad32x32x3d_c ++ ++void aom_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x32x4d aom_sad32x32x4d_c ++ ++unsigned int aom_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad32x64 aom_sad32x64_c ++ ++unsigned int aom_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad32x64_avg aom_sad32x64_avg_c ++ ++void aom_sad32x64x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x64x3d aom_sad32x64x3d_c ++ ++void aom_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad32x64x4d aom_sad32x64x4d_c ++ ++unsigned int aom_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad4x4 aom_sad4x4_c ++ ++void aom_sad4x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad4x4x3d aom_sad4x4x3d_c ++ ++void aom_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad4x4x4d aom_sad4x4x4d_c ++ ++unsigned int aom_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad4x8 aom_sad4x8_c ++ ++void aom_sad4x8x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad4x8x3d aom_sad4x8x3d_c ++ ++void aom_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad4x8x4d aom_sad4x8x4d_c ++ ++unsigned int aom_sad64x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad64x128 aom_sad64x128_c ++ ++unsigned int aom_sad64x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad64x128_avg aom_sad64x128_avg_c ++ ++void aom_sad64x128x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x128x3d aom_sad64x128x3d_c ++ ++void aom_sad64x128x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x128x4d aom_sad64x128x4d_c ++ ++unsigned int aom_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad64x32 aom_sad64x32_c ++ ++unsigned int aom_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad64x32_avg aom_sad64x32_avg_c ++ ++void aom_sad64x32x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x32x3d aom_sad64x32x3d_c ++ ++void aom_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x32x4d aom_sad64x32x4d_c ++ ++unsigned int aom_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad64x64 aom_sad64x64_c ++ ++unsigned int aom_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad64x64_avg aom_sad64x64_avg_c ++ ++void aom_sad64x64x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x64x3d aom_sad64x64x3d_c ++ ++void aom_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad64x64x4d aom_sad64x64x4d_c ++ ++unsigned int aom_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad8x16 aom_sad8x16_c ++ ++unsigned int aom_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad8x16_avg aom_sad8x16_avg_c ++ ++void aom_sad8x16x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x16x3d aom_sad8x16x3d_c ++ ++void aom_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x16x4d aom_sad8x16x4d_c ++ ++unsigned int aom_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad8x4 aom_sad8x4_c ++ ++void aom_sad8x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x4x3d aom_sad8x4x3d_c ++ ++void aom_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x4x4d aom_sad8x4x4d_c ++ ++unsigned int aom_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad8x8 aom_sad8x8_c ++ ++unsigned int aom_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); ++#define aom_sad8x8_avg aom_sad8x8_avg_c ++ ++void aom_sad8x8x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x8x3d aom_sad8x8x3d_c ++ ++void aom_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad8x8x4d aom_sad8x8x4d_c ++ ++unsigned int aom_sad_skip_128x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_128x128 aom_sad_skip_128x128_c ++ ++void aom_sad_skip_128x128x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_128x128x4d aom_sad_skip_128x128x4d_c ++ ++unsigned int aom_sad_skip_128x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_128x64 aom_sad_skip_128x64_c ++ ++void aom_sad_skip_128x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_128x64x4d aom_sad_skip_128x64x4d_c ++ ++unsigned int aom_sad_skip_16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_16x16 aom_sad_skip_16x16_c ++ ++void aom_sad_skip_16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_16x16x4d aom_sad_skip_16x16x4d_c ++ ++unsigned int aom_sad_skip_16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_16x32 aom_sad_skip_16x32_c ++ ++void aom_sad_skip_16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_16x32x4d aom_sad_skip_16x32x4d_c ++ ++unsigned int aom_sad_skip_32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_32x16 aom_sad_skip_32x16_c ++ ++void aom_sad_skip_32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_32x16x4d aom_sad_skip_32x16x4d_c ++ ++unsigned int aom_sad_skip_32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_32x32 aom_sad_skip_32x32_c ++ ++void aom_sad_skip_32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_32x32x4d aom_sad_skip_32x32x4d_c ++ ++unsigned int aom_sad_skip_32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_32x64 aom_sad_skip_32x64_c ++ ++void aom_sad_skip_32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_32x64x4d aom_sad_skip_32x64x4d_c ++ ++unsigned int aom_sad_skip_64x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_64x128 aom_sad_skip_64x128_c ++ ++void aom_sad_skip_64x128x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_64x128x4d aom_sad_skip_64x128x4d_c ++ ++unsigned int aom_sad_skip_64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_64x32 aom_sad_skip_64x32_c ++ ++void aom_sad_skip_64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_64x32x4d aom_sad_skip_64x32x4d_c ++ ++unsigned int aom_sad_skip_64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_64x64 aom_sad_skip_64x64_c ++ ++void aom_sad_skip_64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_64x64x4d aom_sad_skip_64x64x4d_c ++ ++unsigned int aom_sad_skip_8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); ++#define aom_sad_skip_8x16 aom_sad_skip_8x16_c ++ ++void aom_sad_skip_8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]); ++#define aom_sad_skip_8x16x4d aom_sad_skip_8x16x4d_c ++ ++int aom_satd_c(const tran_low_t *coeff, int length); ++#define aom_satd aom_satd_c ++ ++int aom_satd_lp_c(const int16_t *coeff, int length); ++#define aom_satd_lp aom_satd_lp_c ++ ++void aom_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); ++#define aom_scaled_2d aom_scaled_2d_c ++ ++void aom_smooth_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c ++ ++void aom_smooth_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c ++ ++void aom_smooth_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c ++ ++void aom_smooth_h_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c ++ ++void aom_smooth_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c ++ ++void aom_smooth_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c ++ ++void aom_smooth_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c ++ ++void aom_smooth_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c ++ ++void aom_smooth_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c ++ ++void aom_smooth_h_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c ++ ++void aom_smooth_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c ++ ++void aom_smooth_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c ++ ++void aom_smooth_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c ++ ++void aom_smooth_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_16x16 aom_smooth_predictor_16x16_c ++ ++void aom_smooth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_c ++ ++void aom_smooth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_c ++ ++void aom_smooth_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_32x16 aom_smooth_predictor_32x16_c ++ ++void aom_smooth_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_32x32 aom_smooth_predictor_32x32_c ++ ++void aom_smooth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_c ++ ++void aom_smooth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_4x4 aom_smooth_predictor_4x4_c ++ ++void aom_smooth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_c ++ ++void aom_smooth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_64x32 aom_smooth_predictor_64x32_c ++ ++void aom_smooth_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_64x64 aom_smooth_predictor_64x64_c ++ ++void aom_smooth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_c ++ ++void aom_smooth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_8x4 aom_smooth_predictor_8x4_c ++ ++void aom_smooth_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_predictor_8x8 aom_smooth_predictor_8x8_c ++ ++void aom_smooth_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c ++ ++void aom_smooth_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c ++ ++void aom_smooth_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c ++ ++void aom_smooth_v_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c ++ ++void aom_smooth_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c ++ ++void aom_smooth_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c ++ ++void aom_smooth_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c ++ ++void aom_smooth_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c ++ ++void aom_smooth_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c ++ ++void aom_smooth_v_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c ++ ++void aom_smooth_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c ++ ++void aom_smooth_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c ++ ++void aom_smooth_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c ++ ++int64_t aom_sse_c(const uint8_t *a, int a_stride, const uint8_t *b,int b_stride, int width, int height); ++#define aom_sse aom_sse_c ++ ++void aom_ssim_parms_8x8_c(const uint8_t *s, int sp, const uint8_t *r, int rp, uint32_t *sum_s, uint32_t *sum_r, uint32_t *sum_sq_s, uint32_t *sum_sq_r, uint32_t *sum_sxr); ++#define aom_ssim_parms_8x8 aom_ssim_parms_8x8_c ++ ++uint32_t aom_sub_pixel_avg_variance128x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance128x128 aom_sub_pixel_avg_variance128x128_c ++ ++uint32_t aom_sub_pixel_avg_variance128x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance128x64 aom_sub_pixel_avg_variance128x64_c ++ ++uint32_t aom_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance16x16 aom_sub_pixel_avg_variance16x16_c ++ ++uint32_t aom_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance16x32 aom_sub_pixel_avg_variance16x32_c ++ ++uint32_t aom_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance16x8 aom_sub_pixel_avg_variance16x8_c ++ ++uint32_t aom_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance32x16 aom_sub_pixel_avg_variance32x16_c ++ ++uint32_t aom_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance32x32 aom_sub_pixel_avg_variance32x32_c ++ ++uint32_t aom_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance32x64 aom_sub_pixel_avg_variance32x64_c ++ ++uint32_t aom_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance4x4 aom_sub_pixel_avg_variance4x4_c ++ ++uint32_t aom_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance4x8 aom_sub_pixel_avg_variance4x8_c ++ ++uint32_t aom_sub_pixel_avg_variance64x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance64x128 aom_sub_pixel_avg_variance64x128_c ++ ++uint32_t aom_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance64x32 aom_sub_pixel_avg_variance64x32_c ++ ++uint32_t aom_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance64x64 aom_sub_pixel_avg_variance64x64_c ++ ++uint32_t aom_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance8x16 aom_sub_pixel_avg_variance8x16_c ++ ++uint32_t aom_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance8x4 aom_sub_pixel_avg_variance8x4_c ++ ++uint32_t aom_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); ++#define aom_sub_pixel_avg_variance8x8 aom_sub_pixel_avg_variance8x8_c ++ ++uint32_t aom_sub_pixel_variance128x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance128x128 aom_sub_pixel_variance128x128_c ++ ++uint32_t aom_sub_pixel_variance128x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance128x64 aom_sub_pixel_variance128x64_c ++ ++uint32_t aom_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance16x16 aom_sub_pixel_variance16x16_c ++ ++uint32_t aom_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance16x32 aom_sub_pixel_variance16x32_c ++ ++uint32_t aom_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance16x8 aom_sub_pixel_variance16x8_c ++ ++uint32_t aom_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance32x16 aom_sub_pixel_variance32x16_c ++ ++uint32_t aom_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance32x32 aom_sub_pixel_variance32x32_c ++ ++uint32_t aom_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance32x64 aom_sub_pixel_variance32x64_c ++ ++uint32_t aom_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance4x4 aom_sub_pixel_variance4x4_c ++ ++uint32_t aom_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance4x8 aom_sub_pixel_variance4x8_c ++ ++uint32_t aom_sub_pixel_variance64x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance64x128 aom_sub_pixel_variance64x128_c ++ ++uint32_t aom_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance64x32 aom_sub_pixel_variance64x32_c ++ ++uint32_t aom_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance64x64 aom_sub_pixel_variance64x64_c ++ ++uint32_t aom_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance8x16 aom_sub_pixel_variance8x16_c ++ ++uint32_t aom_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance8x4 aom_sub_pixel_variance8x4_c ++ ++uint32_t aom_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); ++#define aom_sub_pixel_variance8x8 aom_sub_pixel_variance8x8_c ++ ++void aom_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); ++#define aom_subtract_block aom_subtract_block_c ++ ++uint64_t aom_sum_squares_2d_i16_c(const int16_t *src, int stride, int width, int height); ++#define aom_sum_squares_2d_i16 aom_sum_squares_2d_i16_c ++ ++uint64_t aom_sum_squares_i16_c(const int16_t *src, uint32_t N); ++#define aom_sum_squares_i16 aom_sum_squares_i16_c ++ ++uint64_t aom_sum_sse_2d_i16_c(const int16_t *src, int src_stride, int width, int height, int *sum); ++#define aom_sum_sse_2d_i16 aom_sum_sse_2d_i16_c ++ ++void aom_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_16x16 aom_v_predictor_16x16_c ++ ++void aom_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_16x32 aom_v_predictor_16x32_c ++ ++void aom_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_16x8 aom_v_predictor_16x8_c ++ ++void aom_v_predictor_32x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_32x16 aom_v_predictor_32x16_c ++ ++void aom_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_32x32 aom_v_predictor_32x32_c ++ ++void aom_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_32x64 aom_v_predictor_32x64_c ++ ++void aom_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_4x4 aom_v_predictor_4x4_c ++ ++void aom_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_4x8 aom_v_predictor_4x8_c ++ ++void aom_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_64x32 aom_v_predictor_64x32_c ++ ++void aom_v_predictor_64x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_64x64 aom_v_predictor_64x64_c ++ ++void aom_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_8x16 aom_v_predictor_8x16_c ++ ++void aom_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_8x4 aom_v_predictor_8x4_c ++ ++void aom_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); ++#define aom_v_predictor_8x8 aom_v_predictor_8x8_c ++ ++uint64_t aom_var_2d_u8_c(uint8_t *src, int src_stride, int width, int height); ++#define aom_var_2d_u8 aom_var_2d_u8_c ++ ++unsigned int aom_variance128x128_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance128x128 aom_variance128x128_c ++ ++unsigned int aom_variance128x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance128x64 aom_variance128x64_c ++ ++unsigned int aom_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance16x16 aom_variance16x16_c ++ ++unsigned int aom_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance16x32 aom_variance16x32_c ++ ++unsigned int aom_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance16x8 aom_variance16x8_c ++ ++unsigned int aom_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance32x16 aom_variance32x16_c ++ ++unsigned int aom_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance32x32 aom_variance32x32_c ++ ++unsigned int aom_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance32x64 aom_variance32x64_c ++ ++unsigned int aom_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance4x4 aom_variance4x4_c ++ ++unsigned int aom_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance4x8 aom_variance4x8_c ++ ++unsigned int aom_variance64x128_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance64x128 aom_variance64x128_c ++ ++unsigned int aom_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance64x32 aom_variance64x32_c ++ ++unsigned int aom_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance64x64 aom_variance64x64_c ++ ++unsigned int aom_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance8x16 aom_variance8x16_c ++ ++unsigned int aom_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance8x4 aom_variance8x4_c ++ ++unsigned int aom_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); ++#define aom_variance8x8 aom_variance8x8_c ++ ++int aom_vector_var_c(const int16_t *ref, const int16_t *src, int bwl); ++#define aom_vector_var aom_vector_var_c ++ ++void aom_dsp_rtcd(void); ++ ++#include "config/aom_config.h" ++ ++#ifdef RTCD_C ++#include "aom_ports/ppc.h" ++static void setup_rtcd_internal(void) ++{ ++ int flags = ppc_simd_caps(); ++ ++ (void)flags; ++ ++} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif // AOM_DSP_RTCD_H_ +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h +@@ -0,0 +1,91 @@ ++/* ++ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * ++ * This source code is subject to the terms of the BSD 2 Clause License and ++ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++ * was not distributed with this source code in the LICENSE file, you can ++ * obtain it at www.aomedia.org/license/software. If the Alliance for Open ++ * Media Patent License 1.0 was not distributed with this source code in the ++ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++ */ ++ ++// This file is generated. Do not edit. ++#ifndef AOM_SCALE_RTCD_H_ ++#define AOM_SCALE_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++#include ++ ++struct yv12_buffer_config; ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++void aom_extend_frame_borders_c(struct yv12_buffer_config *ybf, int num_planes); ++#define aom_extend_frame_borders aom_extend_frame_borders_c ++ ++void aom_extend_frame_borders_plane_row_c(const struct yv12_buffer_config *ybf, int plane, int v_start, int v_end); ++#define aom_extend_frame_borders_plane_row aom_extend_frame_borders_plane_row_c ++ ++void aom_yv12_copy_frame_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, const int num_planes); ++#define aom_yv12_copy_frame aom_yv12_copy_frame_c ++ ++void aom_yv12_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop); ++#define aom_yv12_copy_u aom_yv12_copy_u_c ++ ++void aom_yv12_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop); ++#define aom_yv12_copy_v aom_yv12_copy_v_c ++ ++void aom_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int use_crop); ++#define aom_yv12_copy_y aom_yv12_copy_y_c ++ ++void aom_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf, const int num_planes); ++#define aom_yv12_extend_frame_borders aom_yv12_extend_frame_borders_c ++ ++void aom_yv12_partial_coloc_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int hstart, int hend, int vstart, int vend); ++#define aom_yv12_partial_coloc_copy_u aom_yv12_partial_coloc_copy_u_c ++ ++void aom_yv12_partial_coloc_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int hstart, int hend, int vstart, int vend); ++#define aom_yv12_partial_coloc_copy_v aom_yv12_partial_coloc_copy_v_c ++ ++void aom_yv12_partial_coloc_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int hstart, int hend, int vstart, int vend); ++#define aom_yv12_partial_coloc_copy_y aom_yv12_partial_coloc_copy_y_c ++ ++void aom_yv12_partial_copy_u_c(const struct yv12_buffer_config *src_bc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_bc, int hstart2, int vstart2); ++#define aom_yv12_partial_copy_u aom_yv12_partial_copy_u_c ++ ++void aom_yv12_partial_copy_v_c(const struct yv12_buffer_config *src_bc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_bc, int hstart2, int vstart2); ++#define aom_yv12_partial_copy_v aom_yv12_partial_copy_v_c ++ ++void aom_yv12_partial_copy_y_c(const struct yv12_buffer_config *src_ybc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_ybc, int hstart2, int vstart2); ++#define aom_yv12_partial_copy_y aom_yv12_partial_copy_y_c ++ ++int aom_yv12_realloc_with_new_border_c(struct yv12_buffer_config *ybf, int new_border, int byte_alignment, bool alloc_pyramid, int num_planes); ++#define aom_yv12_realloc_with_new_border aom_yv12_realloc_with_new_border_c ++ ++void aom_scale_rtcd(void); ++ ++#include "config/aom_config.h" ++ ++#ifdef RTCD_C ++#include "aom_ports/ppc.h" ++static void setup_rtcd_internal(void) ++{ ++ int flags = ppc_simd_caps(); ++ ++ (void)flags; ++ ++} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif // AOM_SCALE_RTCD_H_ +Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h +@@ -0,0 +1,405 @@ ++/* ++ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * ++ * This source code is subject to the terms of the BSD 2 Clause License and ++ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ++ * was not distributed with this source code in the LICENSE file, you can ++ * obtain it at www.aomedia.org/license/software. If the Alliance for Open ++ * Media Patent License 1.0 was not distributed with this source code in the ++ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. ++ */ ++ ++// This file is generated. Do not edit. ++#ifndef AV1_RTCD_H_ ++#define AV1_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++/* ++ * AV1 ++ */ ++ ++#include "aom/aom_integer.h" ++#include "aom_dsp/odintrin.h" ++#include "aom_dsp/txfm_common.h" ++#include "av1/common/av1_txfm.h" ++#include "av1/common/common.h" ++#include "av1/common/convolve.h" ++#include "av1/common/enums.h" ++#include "av1/common/filter.h" ++#include "av1/common/quant_common.h" ++#include "av1/common/restoration.h" ++ ++struct macroblockd; ++ ++/* Encoder forward decls */ ++struct macroblock; ++struct txfm_param; ++struct aom_variance_vtable; ++struct search_site_config; ++struct yv12_buffer_config; ++struct NN_CONFIG; ++typedef struct NN_CONFIG NN_CONFIG; ++ ++enum { NONE, RELU, SOFTSIGN, SIGMOID } UENUM1BYTE(ACTIVATION); ++#if CONFIG_NN_V2 ++enum { SOFTMAX_CROSS_ENTROPY } UENUM1BYTE(LOSS); ++struct NN_CONFIG_V2; ++typedef struct NN_CONFIG_V2 NN_CONFIG_V2; ++struct FC_LAYER; ++typedef struct FC_LAYER FC_LAYER; ++#endif // CONFIG_NN_V2 ++ ++struct CNN_CONFIG; ++typedef struct CNN_CONFIG CNN_CONFIG; ++struct CNN_LAYER_CONFIG; ++typedef struct CNN_LAYER_CONFIG CNN_LAYER_CONFIG; ++struct CNN_THREAD_DATA; ++typedef struct CNN_THREAD_DATA CNN_THREAD_DATA; ++struct CNN_BRANCH_CONFIG; ++typedef struct CNN_BRANCH_CONFIG CNN_BRANCH_CONFIG; ++struct CNN_MULTI_OUT; ++typedef struct CNN_MULTI_OUT CNN_MULTI_OUT; ++ ++/* Function pointers return by CfL functions */ ++typedef void (*cfl_subsample_lbd_fn)(const uint8_t *input, int input_stride, ++ uint16_t *output_q3); ++ ++#if CONFIG_AV1_HIGHBITDEPTH ++typedef void (*cfl_subsample_hbd_fn)(const uint16_t *input, int input_stride, ++ uint16_t *output_q3); ++ ++typedef void (*cfl_predict_hbd_fn)(const int16_t *src, uint16_t *dst, ++ int dst_stride, int alpha_q3, int bd); ++#endif ++ ++typedef void (*cfl_subtract_average_fn)(const uint16_t *src, int16_t *dst); ++ ++typedef void (*cfl_predict_lbd_fn)(const int16_t *src, uint8_t *dst, ++ int dst_stride, int alpha_q3); ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++void aom_comp_avg_upsampled_pred_c(MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, ++ const MV *const mv, uint8_t *comp_pred, const uint8_t *pred, int width, ++ int height, int subpel_x_q3, int subpel_y_q3, const uint8_t *ref, ++ int ref_stride, int subpel_search); ++#define aom_comp_avg_upsampled_pred aom_comp_avg_upsampled_pred_c ++ ++void aom_quantize_b_helper_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr, const qm_val_t *iqm_ptr, const int log_scale); ++#define aom_quantize_b_helper aom_quantize_b_helper_c ++ ++void aom_upsampled_pred_c(MACROBLOCKD *xd, const struct AV1Common *const cm, int mi_row, int mi_col, ++ const MV *const mv, uint8_t *comp_pred, int width, int height, int subpel_x_q3, ++ int subpel_y_q3, const uint8_t *ref, int ref_stride, int subpel_search); ++#define aom_upsampled_pred aom_upsampled_pred_c ++ ++int64_t av1_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); ++#define av1_block_error av1_block_error_c ++ ++int64_t av1_block_error_lp_c(const int16_t *coeff, const int16_t *dqcoeff, intptr_t block_size); ++#define av1_block_error_lp av1_block_error_lp_c ++ ++void av1_build_compound_diffwtd_mask_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint8_t *src0, int src0_stride, const uint8_t *src1, int src1_stride, int h, int w); ++#define av1_build_compound_diffwtd_mask av1_build_compound_diffwtd_mask_c ++ ++void av1_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); ++#define av1_build_compound_diffwtd_mask_d16 av1_build_compound_diffwtd_mask_d16_c ++ ++void av1_calc_indices_dim1_c(const int16_t *data, const int16_t *centroids, uint8_t *indices, int64_t *total_dist, int n, int k); ++#define av1_calc_indices_dim1 av1_calc_indices_dim1_c ++ ++void av1_calc_indices_dim2_c(const int16_t *data, const int16_t *centroids, uint8_t *indices, int64_t *total_dist, int n, int k); ++#define av1_calc_indices_dim2 av1_calc_indices_dim2_c ++ ++void av1_convolve_2d_scale_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int x_step_qn, const int subpel_y_qn, const int y_step_qn, ConvolveParams *conv_params); ++#define av1_convolve_2d_scale av1_convolve_2d_scale_c ++ ++void av1_convolve_2d_sr_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params); ++#define av1_convolve_2d_sr av1_convolve_2d_sr_c ++ ++void av1_convolve_2d_sr_intrabc_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params); ++#define av1_convolve_2d_sr_intrabc av1_convolve_2d_sr_intrabc_c ++ ++void av1_convolve_horiz_rs_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const int16_t *x_filters, int x0_qn, int x_step_qn); ++#define av1_convolve_horiz_rs av1_convolve_horiz_rs_c ++ ++void av1_convolve_x_sr_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params); ++#define av1_convolve_x_sr av1_convolve_x_sr_c ++ ++void av1_convolve_x_sr_intrabc_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params); ++#define av1_convolve_x_sr_intrabc av1_convolve_x_sr_intrabc_c ++ ++void av1_convolve_y_sr_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn); ++#define av1_convolve_y_sr av1_convolve_y_sr_c ++ ++void av1_convolve_y_sr_intrabc_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn); ++#define av1_convolve_y_sr_intrabc av1_convolve_y_sr_intrabc_c ++ ++int av1_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude); ++#define av1_denoiser_filter av1_denoiser_filter_c ++ ++void av1_dist_wtd_convolve_2d_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params); ++#define av1_dist_wtd_convolve_2d av1_dist_wtd_convolve_2d_c ++ ++void av1_dist_wtd_convolve_2d_copy_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, ConvolveParams *conv_params); ++#define av1_dist_wtd_convolve_2d_copy av1_dist_wtd_convolve_2d_copy_c ++ ++void av1_dist_wtd_convolve_x_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params); ++#define av1_dist_wtd_convolve_x av1_dist_wtd_convolve_x_c ++ ++void av1_dist_wtd_convolve_y_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); ++#define av1_dist_wtd_convolve_y av1_dist_wtd_convolve_y_c ++ ++void av1_dr_prediction_z1_c(uint8_t *dst, ptrdiff_t stride, int bw, int bh, const uint8_t *above, const uint8_t *left, int upsample_above, int dx, int dy); ++#define av1_dr_prediction_z1 av1_dr_prediction_z1_c ++ ++void av1_dr_prediction_z2_c(uint8_t *dst, ptrdiff_t stride, int bw, int bh, const uint8_t *above, const uint8_t *left, int upsample_above, int upsample_left, int dx, int dy); ++#define av1_dr_prediction_z2 av1_dr_prediction_z2_c ++ ++void av1_dr_prediction_z3_c(uint8_t *dst, ptrdiff_t stride, int bw, int bh, const uint8_t *above, const uint8_t *left, int upsample_left, int dx, int dy); ++#define av1_dr_prediction_z3 av1_dr_prediction_z3_c ++ ++void av1_fdwt8x8_uint8_input_c(const uint8_t *input, tran_low_t *output, int stride, int hbd); ++#define av1_fdwt8x8_uint8_input av1_fdwt8x8_uint8_input_c ++ ++void av1_filter_intra_edge_c(uint8_t *p, int sz, int strength); ++#define av1_filter_intra_edge av1_filter_intra_edge_c ++ ++void av1_filter_intra_predictor_c(uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left, int mode); ++#define av1_filter_intra_predictor av1_filter_intra_predictor_c ++ ++void av1_fwd_txfm2d_16x16_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_16x16 av1_fwd_txfm2d_16x16_c ++ ++void av1_fwd_txfm2d_16x32_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_16x32 av1_fwd_txfm2d_16x32_c ++ ++void av1_fwd_txfm2d_16x4_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_16x4 av1_fwd_txfm2d_16x4_c ++ ++void av1_fwd_txfm2d_16x8_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_16x8 av1_fwd_txfm2d_16x8_c ++ ++void av1_fwd_txfm2d_32x16_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_32x16 av1_fwd_txfm2d_32x16_c ++ ++void av1_fwd_txfm2d_32x32_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_32x32 av1_fwd_txfm2d_32x32_c ++ ++void av1_fwd_txfm2d_32x64_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_32x64 av1_fwd_txfm2d_32x64_c ++ ++void av1_fwd_txfm2d_4x4_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_4x4 av1_fwd_txfm2d_4x4_c ++ ++void av1_fwd_txfm2d_4x8_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_4x8 av1_fwd_txfm2d_4x8_c ++ ++void av1_fwd_txfm2d_64x32_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_64x32 av1_fwd_txfm2d_64x32_c ++ ++void av1_fwd_txfm2d_64x64_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_64x64 av1_fwd_txfm2d_64x64_c ++ ++void av1_fwd_txfm2d_8x16_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_8x16 av1_fwd_txfm2d_8x16_c ++ ++void av1_fwd_txfm2d_8x4_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_8x4 av1_fwd_txfm2d_8x4_c ++ ++void av1_fwd_txfm2d_8x8_c(const int16_t *input, int32_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_fwd_txfm2d_8x8 av1_fwd_txfm2d_8x8_c ++ ++void av1_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); ++#define av1_fwht4x4 av1_fwht4x4_c ++ ++uint32_t av1_get_crc32c_value_c(void *crc_calculator, const uint8_t *p, size_t length); ++#define av1_get_crc32c_value av1_get_crc32c_value_c ++ ++void av1_get_horver_correlation_full_c(const int16_t *diff, int stride, int w, int h, float *hcorr, float *vcorr); ++#define av1_get_horver_correlation_full av1_get_horver_correlation_full_c ++ ++void av1_get_nz_map_contexts_c(const uint8_t *const levels, const int16_t *const scan, const uint16_t eob, const TX_SIZE tx_size, const TX_CLASS tx_class, int8_t *const coeff_contexts); ++#define av1_get_nz_map_contexts av1_get_nz_map_contexts_c ++ ++void av1_highbd_inv_txfm_add_c(const tran_low_t *input, uint8_t *dest, int stride, const TxfmParam *txfm_param); ++#define av1_highbd_inv_txfm_add av1_highbd_inv_txfm_add_c ++ ++void av1_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); ++#define av1_highbd_iwht4x4_16_add av1_highbd_iwht4x4_16_add_c ++ ++void av1_highbd_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int bd); ++#define av1_highbd_iwht4x4_1_add av1_highbd_iwht4x4_1_add_c ++ ++void av1_inv_txfm2d_add_16x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_16x16 av1_inv_txfm2d_add_16x16_c ++ ++void av1_inv_txfm2d_add_16x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_16x32 av1_inv_txfm2d_add_16x32_c ++ ++void av1_inv_txfm2d_add_16x4_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_16x4 av1_inv_txfm2d_add_16x4_c ++ ++void av1_inv_txfm2d_add_16x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_16x64 av1_inv_txfm2d_add_16x64_c ++ ++void av1_inv_txfm2d_add_16x8_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_16x8 av1_inv_txfm2d_add_16x8_c ++ ++void av1_inv_txfm2d_add_32x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_32x16 av1_inv_txfm2d_add_32x16_c ++ ++void av1_inv_txfm2d_add_32x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_32x32 av1_inv_txfm2d_add_32x32_c ++ ++void av1_inv_txfm2d_add_32x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_32x64 av1_inv_txfm2d_add_32x64_c ++ ++void av1_inv_txfm2d_add_32x8_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_32x8 av1_inv_txfm2d_add_32x8_c ++ ++void av1_inv_txfm2d_add_4x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_4x16 av1_inv_txfm2d_add_4x16_c ++ ++void av1_inv_txfm2d_add_4x4_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_4x4 av1_inv_txfm2d_add_4x4_c ++ ++void av1_inv_txfm2d_add_4x8_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_4x8 av1_inv_txfm2d_add_4x8_c ++ ++void av1_inv_txfm2d_add_64x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_64x16 av1_inv_txfm2d_add_64x16_c ++ ++void av1_inv_txfm2d_add_64x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_64x32 av1_inv_txfm2d_add_64x32_c ++ ++void av1_inv_txfm2d_add_64x64_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_64x64 av1_inv_txfm2d_add_64x64_c ++ ++void av1_inv_txfm2d_add_8x16_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_8x16 av1_inv_txfm2d_add_8x16_c ++ ++void av1_inv_txfm2d_add_8x32_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_8x32 av1_inv_txfm2d_add_8x32_c ++ ++void av1_inv_txfm2d_add_8x4_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_8x4 av1_inv_txfm2d_add_8x4_c ++ ++void av1_inv_txfm2d_add_8x8_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); ++#define av1_inv_txfm2d_add_8x8 av1_inv_txfm2d_add_8x8_c ++ ++void av1_inv_txfm_add_c(const tran_low_t *dqcoeff, uint8_t *dst, int stride, const TxfmParam *txfm_param); ++#define av1_inv_txfm_add av1_inv_txfm_add_c ++ ++void av1_lowbd_fwd_txfm_c(const int16_t *src_diff, tran_low_t *coeff, int diff_stride, TxfmParam *txfm_param); ++#define av1_lowbd_fwd_txfm av1_lowbd_fwd_txfm_c ++ ++void av1_nn_fast_softmax_16_c(const float *input_nodes, float *output); ++#define av1_nn_fast_softmax_16 av1_nn_fast_softmax_16_c ++ ++void av1_nn_predict_c(const float *input_nodes, const NN_CONFIG *const nn_config, int reduce_prec, float *const output); ++#define av1_nn_predict av1_nn_predict_c ++ ++void av1_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr, int log_scale); ++#define av1_quantize_b av1_quantize_b_c ++ ++void av1_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define av1_quantize_fp av1_quantize_fp_c ++ ++void av1_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define av1_quantize_fp_32x32 av1_quantize_fp_32x32_c ++ ++void av1_quantize_fp_64x64_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define av1_quantize_fp_64x64 av1_quantize_fp_64x64_c ++ ++void av1_quantize_lp_c(const int16_t *coeff_ptr, intptr_t n_coeffs, const int16_t *round_ptr, const int16_t *quant_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); ++#define av1_quantize_lp av1_quantize_lp_c ++ ++void av1_resize_and_extend_frame_c(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, const InterpFilter filter, const int phase, const int num_planes); ++#define av1_resize_and_extend_frame av1_resize_and_extend_frame_c ++ ++void av1_resize_horz_dir_c(const uint8_t *const input, int in_stride, uint8_t *intbuf, int height, int filtered_length, int width2); ++#define av1_resize_horz_dir av1_resize_horz_dir_c ++ ++bool av1_resize_vert_dir_c(uint8_t *intbuf, uint8_t *output, int out_stride, int height, int height2, int width2, int start_col); ++#define av1_resize_vert_dir av1_resize_vert_dir_c ++ ++void av1_round_shift_array_c(int32_t *arr, int size, int bit); ++#define av1_round_shift_array av1_round_shift_array_c ++ ++void av1_txb_init_levels_c(const tran_low_t *const coeff, const int width, const int height, uint8_t *const levels); ++#define av1_txb_init_levels av1_txb_init_levels_c ++ ++void av1_upsample_intra_edge_c(uint8_t *p, int sz); ++#define av1_upsample_intra_edge av1_upsample_intra_edge_c ++ ++void av1_wedge_compute_delta_squares_c(int16_t *d, const int16_t *a, const int16_t *b, int N); ++#define av1_wedge_compute_delta_squares av1_wedge_compute_delta_squares_c ++ ++int8_t av1_wedge_sign_from_residuals_c(const int16_t *ds, const uint8_t *m, int N, int64_t limit); ++#define av1_wedge_sign_from_residuals av1_wedge_sign_from_residuals_c ++ ++uint64_t av1_wedge_sse_from_residuals_c(const int16_t *r1, const int16_t *d, const uint8_t *m, int N); ++#define av1_wedge_sse_from_residuals av1_wedge_sse_from_residuals_c ++ ++void cdef_copy_rect8_8bit_to_16bit_c(uint16_t *dst, int dstride, const uint8_t *src, int sstride, int width, int height); ++#define cdef_copy_rect8_8bit_to_16bit cdef_copy_rect8_8bit_to_16bit_c ++ ++void cdef_filter_16_0_c(void *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_16_0 cdef_filter_16_0_c ++ ++void cdef_filter_16_1_c(void *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_16_1 cdef_filter_16_1_c ++ ++void cdef_filter_16_2_c(void *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_16_2 cdef_filter_16_2_c ++ ++void cdef_filter_16_3_c(void *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_16_3 cdef_filter_16_3_c ++ ++void cdef_filter_8_0_c(void *dst8, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_8_0 cdef_filter_8_0_c ++ ++void cdef_filter_8_1_c(void *dst8, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_8_1 cdef_filter_8_1_c ++ ++void cdef_filter_8_2_c(void *dst8, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_8_2 cdef_filter_8_2_c ++ ++void cdef_filter_8_3_c(void *dst8, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); ++#define cdef_filter_8_3 cdef_filter_8_3_c ++ ++int cdef_find_dir_c(const uint16_t *img, int stride, int32_t *var, int coeff_shift); ++#define cdef_find_dir cdef_find_dir_c ++ ++void cdef_find_dir_dual_c(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); ++#define cdef_find_dir_dual cdef_find_dir_dual_c ++ ++void av1_rtcd(void); ++ ++#include "config/aom_config.h" ++ ++#ifdef RTCD_C ++#include "aom_ports/ppc.h" ++static void setup_rtcd_internal(void) ++{ ++ int flags = ppc_simd_caps(); ++ ++ (void)flags; ++ ++} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif // AV1_RTCD_H_ diff --git a/0001-Enable-ppc64-pointer-compression.patch b/0001-Enable-ppc64-pointer-compression.patch new file mode 100644 index 0000000..a7197a5 --- /dev/null +++ b/0001-Enable-ppc64-pointer-compression.patch @@ -0,0 +1,13 @@ +Index: chromium-144.0.7559.59/v8/gni/v8.gni +=================================================================== +--- chromium-144.0.7559.59.orig/v8/gni/v8.gni ++++ chromium-144.0.7559.59/v8/gni/v8.gni +@@ -317,7 +317,7 @@ assert( + if (v8_enable_pointer_compression == "") { + v8_enable_pointer_compression = + v8_current_cpu == "arm64" || v8_current_cpu == "x64" || +- v8_current_cpu == "loong64" ++ v8_current_cpu == "loong64" || v8_current_cpu == "ppc64" + } + + # The Wasm interpreter is currently supported only on arm64 and x64, on diff --git a/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch b/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch new file mode 100644 index 0000000..3c1c68d --- /dev/null +++ b/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch @@ -0,0 +1,30 @@ +From ea104a841fca1ff4d5430915f1b7c52c6a642f13 Mon Sep 17 00:00:00 2001 +From: Timothy Pearson +Date: Fri, 21 Sep 2018 21:44:17 -0500 +Subject: [PATCH] Force baseline POWER8 / AltiVec / VSX CPU features when on a + PPC64 platform in LE mode + +--- + BUILD.gn | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: chromium-144.0.7559.59/v8/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/v8/BUILD.gn ++++ chromium-144.0.7559.59/v8/BUILD.gn +@@ -1596,7 +1596,14 @@ config("toolchain") { + if (v8_current_cpu == "ppc64") { + defines += [ "V8_TARGET_ARCH_PPC64" ] + cflags += [ "-ffp-contract=off" ] +- if (current_os == "aix") { ++ if (current_os == "linux") { ++ cflags += [ ++ # Enable usage of AltiVec, VSX, and other POWER8 and higher features ++ "-mcpu=power8", ++ "-maltivec", ++ "-mvsx", ++ ] ++ } else if (current_os == "aix") { + cflags += [ + # Work around AIX ceil, trunc and round oddities. + "-mcpu=power5+", diff --git a/0001-Implement-support-for-PPC64-on-Linux.patch b/0001-Implement-support-for-PPC64-on-Linux.patch new file mode 100644 index 0000000..772cd3c --- /dev/null +++ b/0001-Implement-support-for-PPC64-on-Linux.patch @@ -0,0 +1,1481 @@ +From 8c24c695052d156fd1322d6dacfab117b92cb175 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Thu, 30 Aug 2018 17:32:05 -0500 +Subject: [PATCH] Implement support for PPC64 on Linux + +This patch implements support for the PPC64 architecture on Linux hosts. +--- + CONTRIBUTORS | 1 + + minidump/minidump_context.h | 64 ++++++ + minidump/minidump_context_writer.cc | 50 +++++ + minidump/minidump_context_writer.h | 39 ++++ + minidump/minidump_context_writer_test.cc | 15 ++ + minidump/minidump_misc_info_writer.cc | 2 + + minidump/test/minidump_context_test_util.cc | 67 ++++++ + minidump/test/minidump_context_test_util.h | 3 + + snapshot/capture_memory.cc | 5 + + snapshot/cpu_architecture.h | 5 +- + snapshot/cpu_context.cc | 5 + + snapshot/cpu_context.h | 19 ++ + snapshot/linux/cpu_context_linux.h | 73 ++++++ + snapshot/linux/debug_rendezvous_test.cc | 4 +- + snapshot/linux/exception_snapshot_linux.cc | 63 ++++++ + snapshot/linux/exception_snapshot_linux.h | 2 + + .../linux/exception_snapshot_linux_test.cc | 21 ++ + snapshot/linux/process_reader_linux.cc | 2 + + snapshot/linux/signal_context.h | 83 +++++++ + snapshot/linux/system_snapshot_linux.cc | 11 + + snapshot/linux/thread_snapshot_linux.cc | 8 + + snapshot/linux/thread_snapshot_linux.h | 2 + + snapshot/test/test_cpu_context.cc | 33 +++ + snapshot/test/test_cpu_context.h | 1 + + test/linux/get_tls.cc | 2 + + test/multiprocess_posix.cc | 3 +- + util/linux/auxiliary_vector.cc | 5 + + util/linux/ptracer.cc | 61 +++++ + util/linux/thread_info.h | 55 +++++ + util/misc/capture_context.h | 1 + + util/misc/capture_context_linux.S | 212 +++++++++++++++++- + util/misc/capture_context_test.cc | 3 +- + util/misc/capture_context_test_util_linux.cc | 6 + + 36 files changed, 932 insertions(+), 12 deletions(-) + +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/CONTRIBUTORS ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS +@@ -13,3 +13,5 @@ Mark Mentovai + Robert Sesek + Scott Graham + Joshua Peraza ++Shawn Anastasio ++Timothy Pearson +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h +@@ -686,6 +686,70 @@ struct MinidumpContextRISCV64 { + uint32_t fcsr; + }; + ++//! \brief ppc64-specific flags for MinidumpPPC64::context_flags ++//! Based on minidump_cpu_ppc64.h from breakpad ++enum MinidumpContextPPC64Flags : uint32_t { ++ //! \brief Identifies the context as PPC64. ++ kMinidumpContextPPC64 = 0x01000000, ++ ++ //! \brief Indicates the validity of general purpose registers. ++ //! ++ //! Registers `r0`-`r31`, `nip`, `msr`, `lr`, etc. are valid. ++ kMinidumpContextPPC64Base = kMinidumpContextPPC64 | 0x00000001, ++ ++ //! \brief Indicates the validity of floating point registers. ++ //! ++ //! Registers `fp0`-`fp31`, `fpscr` are valid. ++ kMinidumpContextPPC64Floating = kMinidumpContextPPC64 | 0x00000008, ++ ++ //! \brief Indicates the validity of Altivec/VMX registers. ++ //! ++ //! Registers `v0`-`v31`, `vscr`, `vrsave`. ++ kMinidumpContextPPC64Vector = kMinidumpContextPPC64 | 0x00000020, ++ ++ //! \brief Indicates the validity of all registers ++ kMinidumpContextPPC64All = kMinidumpContextPPC64Base | ++ kMinidumpContextPPC64Floating | ++ kMinidumpContextPPC64Vector ++}; ++ ++//! \brief A PPC64 CPU context carried in a minidump file. ++//! Based on minidump_cpu_ppc64.h from breakpad. ++struct MinidumpContextPPC64 { ++ uint64_t context_flags; ++ ++ //! \brief General purpose registers. ++ uint64_t nip; ++ uint64_t msr; ++ uint64_t regs[32]; ++ uint64_t ccr; ++ uint64_t xer; ++ uint64_t lnk; ++ uint64_t ctr; ++ ++ //! \brief Floating point registers. ++ double fpregs[32]; ++ ++ //! \brief FPU status register. ++ double fpscr; ++ ++ //! \brief Altivec/VMX vector registers. ++ struct { ++ //! \brief Vector registers are 128bits. ++ uint128_struct save_vr[32]; ++ uint128_struct save_vscr; ++ ++ //! \brief Padding included for breakpad compatibiltiy. ++ uint32_t save_pad5[4]; ++ ++ //! \brief VRSAVE register. ++ uint32_t save_vrsave; ++ ++ //! \brief Padding included for breakpad compatibiltiy. ++ uint32_t save_pad6[7]; ++ } vregs; ++}; ++ + } // namespace crashpad + + #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_ +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc +@@ -110,6 +110,13 @@ MinidumpContextWriter::CreateFromSnapsho + break; + } + ++ case kCPUArchitecturePPC64: { ++ context = std::make_unique(); ++ reinterpret_cast(context.get()) ++ ->InitializeFromSnapshot(context_snapshot->ppc64); ++ break; ++ } ++ + default: { + LOG(ERROR) << "unknown context architecture " + << context_snapshot->architecture; +@@ -605,5 +612,48 @@ size_t MinidumpContextRISCV64Writer::Con + DCHECK_GE(state(), kStateFrozen); + return sizeof(context_); + } ++ ++MinidumpContextPPC64Writer::MinidumpContextPPC64Writer() ++ : MinidumpContextWriter(), context_() { ++ context_.context_flags = kMinidumpContextPPC64; ++} ++ ++MinidumpContextPPC64Writer::~MinidumpContextPPC64Writer() = default; ++ ++void MinidumpContextPPC64Writer::InitializeFromSnapshot( ++ const CPUContextPPC64* context_snapshot) { ++ DCHECK_EQ(state(), kStateMutable); ++ DCHECK_EQ(context_.context_flags, kMinidumpContextPPC64); ++ ++ context_.context_flags = kMinidumpContextPPC64All; ++ ++ memcpy(context_.regs, context_snapshot->regs, sizeof(context_.regs)); ++ context_.nip = context_snapshot->nip; ++ context_.msr = context_snapshot->msr; ++ context_.ccr = context_snapshot->ccr; ++ context_.xer = context_snapshot->xer; ++ context_.lnk = context_snapshot->lnk; ++ context_.ctr = context_snapshot->ctr; ++ ++ memcpy(context_.fpregs, context_snapshot->fpregs, sizeof(context_.fpregs)); ++ context_.fpscr = context_snapshot->fpscr; ++ ++ memcpy(context_.vregs.save_vr, context_snapshot->vregs.save_vr, ++ sizeof(context_.vregs.save_vr)); ++ memcpy(&context_.vregs.save_vscr, &context_snapshot->vregs.save_vscr, ++ sizeof(context_.vregs.save_vscr)); ++ context_.vregs.save_vrsave = context_snapshot->vregs.save_vrsave; ++} ++ ++bool MinidumpContextPPC64Writer::WriteObject( ++ FileWriterInterface* file_writer) { ++ DCHECK_EQ(state(), kStateWritable); ++ return file_writer->Write(&context_, sizeof(context_)); ++} ++ ++size_t MinidumpContextPPC64Writer::ContextSize() const { ++ DCHECK_GE(state(), kStateFrozen); ++ return sizeof(context_); ++} + + } // namespace crashpad +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h +@@ -413,6 +413,49 @@ class MinidumpContextRISCV64Writer final + MinidumpContextRISCV64 context_; + }; + ++//! \brief The writer for a MinidumpContextPPC64 structure in a minidump file. ++class MinidumpContextPPC64Writer final : public MinidumpContextWriter { ++ public: ++ MinidumpContextPPC64Writer(); ++ ++ MinidumpContextPPC64Writer(const MinidumpContextPPC64Writer&) = delete; ++ MinidumpContextPPC64Writer& operator=(const MinidumpContextPPC64Writer&) = ++ delete; ++ ++ ~MinidumpContextPPC64Writer() override; ++ ++ //! \brief Initializes the MinidumpContextPPC based on \a context_snapshot. ++ //! ++ //! \param[in] context_snapshot The context snapshot to use as source data. ++ //! ++ //! \note Valid in #kStateMutable. No mutation of context() may be done before ++ //! calling this method, and it is not normally necessary to alter ++ //! context() after calling this method. ++ void InitializeFromSnapshot(const CPUContextPPC64* context_snapshot); ++ ++ //! \brief Returns a pointer to the context structure that this object will ++ //! write. ++ //! ++ //! \attention This returns a non-`const` pointer to this object’s private ++ //! data so that a caller can populate the context structure directly. ++ //! This is done because providing setter interfaces to each field in the ++ //! context structure would be unwieldy and cumbersome. Care must be taken ++ //! to populate the context structure correctly. The context structure ++ //! must only be modified while this object is in the #kStateMutable ++ //! state. ++ MinidumpContextPPC64* context() { return &context_; } ++ ++ protected: ++ // MinidumpWritable: ++ bool WriteObject(FileWriterInterface* file_writer) override; ++ ++ // MinidumpContextWriter: ++ size_t ContextSize() const override; ++ ++ private: ++ MinidumpContextPPC64 context_; ++}; ++ + } // namespace crashpad + + #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_ +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc +@@ -322,6 +322,21 @@ TYPED_TEST(MinidumpContextWriter, RISCV6 + TypeParam>(context, ExpectMinidumpContextRISCV64, kSeed); + } + ++TEST(MinidumpContextWriter, PPC64_Zeros) { ++ EmptyContextTest( ++ ExpectMinidumpContextPPC64); ++} ++ ++TEST(MinidumpContextWriter, PPC64_FromSnapshot) { ++ constexpr uint32_t kSeed = 64; ++ CPUContextPPC64 context_ppc64; ++ CPUContext context; ++ context.ppc64 = &context_ppc64; ++ InitializeCPUContextPPC64(&context, kSeed); ++ FromSnapshotTest( ++ context, ExpectMinidumpContextPPC64, kSeed); ++} ++ + } // namespace + } // namespace test + } // namespace crashpad +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc +@@ -177,6 +177,8 @@ std::string MinidumpMiscInfoDebugBuildSt + static constexpr char kCPU[] = "mips64"; + #elif defined(ARCH_CPU_RISCV64) + static constexpr char kCPU[] = "riscv64"; ++#elif defined(ARCH_CPU_PPC64) ++ static constexpr char kCPU[] = "ppc64"; + #else + #error define kCPU for this CPU + #endif +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc +@@ -297,6 +297,40 @@ void InitializeMinidumpContextRISCV64(Mi + context->fcsr = value++; + } + ++void InitializeMinidumpContextPPC64(MinidumpContextPPC64* context, ++ uint32_t seed) { ++ if (seed == 0) { ++ memset(context, 0, sizeof(*context)); ++ context->context_flags = kMinidumpContextPPC64; ++ return; ++ } ++ ++ context->context_flags = kMinidumpContextPPC64All; ++ ++ uint64_t value = seed; ++ for (size_t i = 0; i < base::size(context->regs); ++i) { ++ context->regs[i] = value++; ++ } ++ ++ context->nip = value++; ++ context->msr = value++; ++ context->ccr = value++; ++ context->xer = value++; ++ context->lnk = value++; ++ context->ctr = value++; ++ ++ for (size_t i = 0; i < base::size(context->fpregs); ++i) { ++ context->fpregs[i] = static_cast(i); ++ } ++ context->fpscr = value++; ++ ++ for (size_t i = 0; i < base::size(context->vregs.save_vr); ++i) { ++ context->vregs.save_vr[i] = {value++, value++}; ++ } ++ context->vregs.save_vscr = {value++, value++}; ++ context->vregs.save_vrsave = value++; ++} ++ + namespace { + + // Using Google Test assertions, compares |expected| to |observed|. This is +@@ -645,5 +679,38 @@ void ExpectMinidumpContextRISCV64(uint32 + EXPECT_EQ(observed->fcsr, expected.fcsr); + } + ++void ExpectMinidumpContextPPC64(uint32_t expect_seed, ++ const MinidumpContextPPC64* observed, ++ bool snapshot) { ++ MinidumpContextPPC64 expected; ++ InitializeMinidumpContextPPC64(&expected, expect_seed); ++ ++ EXPECT_EQ(observed->context_flags, expected.context_flags); ++ ++ for (size_t i = 0; i < base::size(expected.regs); ++i) { ++ EXPECT_EQ(observed->regs[i], expected.regs[i]); ++ } ++ ++ EXPECT_EQ(observed->nip, expected.nip); ++ EXPECT_EQ(observed->msr, expected.msr); ++ EXPECT_EQ(observed->ccr, expected.ccr); ++ EXPECT_EQ(observed->xer, expected.xer); ++ EXPECT_EQ(observed->lnk, expected.lnk); ++ EXPECT_EQ(observed->ctr, expected.ctr); ++ ++ for (size_t i = 0; i < base::size(expected.fpregs); ++i) { ++ EXPECT_EQ(observed->fpregs[i], expected.fpregs[i]); ++ } ++ EXPECT_EQ(observed->fpscr, expected.fpscr); ++ ++ for (size_t i = 0; i < base::size(expected.vregs.save_vr); ++ i) { ++ EXPECT_EQ(observed->vregs.save_vr[i].lo, expected.vregs.save_vr[i].lo); ++ EXPECT_EQ(observed->vregs.save_vr[i].hi, expected.vregs.save_vr[i].hi); ++ } ++ EXPECT_EQ(observed->vregs.save_vscr.lo, expected.vregs.save_vscr.lo); ++ EXPECT_EQ(observed->vregs.save_vscr.hi, expected.vregs.save_vscr.hi); ++ EXPECT_EQ(observed->vregs.save_vrsave, expected.vregs.save_vrsave); ++} ++ + } // namespace test + } // namespace crashpad +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h +@@ -90,6 +90,9 @@ void ExpectMinidumpContextMIPS64(uint32_ + void ExpectMinidumpContextRISCV64(uint32_t expect_seed, + const MinidumpContextRISCV64* observed, + bool snapshot); ++void ExpectMinidumpContextPPC64(uint32_t expect_seed, ++ const MinidumpContextPPC64* observed, ++ bool snapshot); + //! \} + + } // namespace test +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc +@@ -123,6 +123,11 @@ void CaptureMemory::PointedToByContext(c + for (size_t i = 0; i < std::size(context.riscv64->regs); ++i) { + MaybeCaptureMemoryAround(delegate, context.riscv64->regs[i]); + } ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ MaybeCaptureMemoryAround(delegate, context.ppc64->nip); ++ for (size_t i = 0; i < std::size(context.ppc64->regs); ++i) { ++ MaybeCaptureMemoryAround(delegate, context.ppc64->regs[i]); ++ } + #else + #error Port. + #endif +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h +@@ -47,6 +47,9 @@ enum CPUArchitecture { + + //! \brief 64-bit RISC-V. + kCPUArchitectureRISCV64, ++ ++ //! \brief 64-bit PPC64. ++ kCPUArchitecturePPC64 + }; + + } // namespace crashpad +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc +@@ -173,6 +173,8 @@ uint64_t CPUContext::InstructionPointer( + return arm64->pc; + case kCPUArchitectureRISCV64: + return riscv64->pc; ++ case kCPUArchitecturePPC64: ++ return ppc64->nip; + default: + NOTREACHED(); + } +@@ -190,6 +192,8 @@ uint64_t CPUContext::StackPointer() cons + return arm64->sp; + case kCPUArchitectureRISCV64: + return riscv64->regs[1]; ++ case kCPUArchitecturePPC64: ++ return ppc64->regs[1]; + default: + NOTREACHED(); + } +@@ -226,6 +230,7 @@ bool CPUContext::Is64Bit() const { + case kCPUArchitectureX86_64: + case kCPUArchitectureARM64: + case kCPUArchitectureMIPS64EL: ++ case kCPUArchitecturePPC64: + case kCPUArchitectureRISCV64: + return true; + case kCPUArchitectureX86: +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h +@@ -371,6 +371,24 @@ struct CPUContextRISCV64 { + uint32_t fcsr; + }; + ++//! \brief A context structure carrying PPC64 CPU state. ++struct CPUContextPPC64 { ++ uint64_t nip; ++ uint64_t msr; ++ uint64_t regs[32]; ++ uint64_t ccr; ++ uint64_t xer; ++ uint64_t lnk; ++ uint64_t ctr; ++ double fpregs[32]; ++ double fpscr; ++ struct { ++ uint128_struct save_vr[32]; ++ uint128_struct save_vscr; ++ uint32_t save_vrsave; ++ } vregs; ++}; ++ + //! \brief A context structure capable of carrying the context of any supported + //! CPU architecture. + struct CPUContext { +@@ -412,6 +430,7 @@ struct CPUContext { + CPUContextMIPS* mipsel; + CPUContextMIPS64* mips64; + CPUContextRISCV64* riscv64; ++ CPUContextPPC64* ppc64; + }; + }; + +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h +@@ -15,6 +15,7 @@ + #ifndef CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ + #define CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ + ++#include + #include "build/build_config.h" + #include "snapshot/cpu_context.h" + #include "snapshot/linux/signal_context.h" +@@ -188,6 +189,78 @@ void InitializeCPUContextRISCV64(const T + + #endif // ARCH_CPU_RISCV64 || DOXYGEN + ++#if defined(ARCH_CPU_PPC64_FAMILY) || DOXYGEN ++ ++//! \brief Initializes a CPUContextPPC64 structure from native context ++//! structures on Linux. ++//! ++//! \param[in] thread_context The native thread context. ++//! \param[in] float_context The native float context. ++//! \param[in] vector_context The native vector context. ++//! \param[out] context The CPUContextPPC64 structure to initialize. ++template ++void InitializeCPUContextPPC64( ++ const ThreadContext::t64_t& thread_context, ++ const FloatContext::f64_t& float_context, ++ const VectorContext::v64_t& vector_context, ++ typename Traits::CPUContext* context) { ++ ++ memcpy(context->regs, thread_context.gpr, sizeof(context->regs)); ++ context->nip = thread_context.nip; ++ context->msr = thread_context.msr; ++ context->ccr = thread_context.ccr; ++ context->xer = thread_context.xer; ++ context->lnk = thread_context.lnk; ++ context->ctr = thread_context.ctr; ++ ++ memcpy(context->fpregs, float_context.fpregs, sizeof(context->fpregs)); ++ context->fpscr = float_context.fpscr; ++ ++ for (uint8_t i = 0; i < 32; i++) { ++ context->vregs.save_vr[i] = { ++ (((uint64_t)vector_context.vrregs[i][0]) << 32) | ++ vector_context.vrregs[i][1], ++ (((uint64_t)vector_context.vrregs[i][2]) << 32) | ++ vector_context.vrregs[i][3] ++ }; ++ } ++ context->vregs.save_vrsave = vector_context.vrsave; ++ context->vregs.save_vscr = {0, (uint64_t)vector_context.vscr.vscr_word}; ++} ++ ++template ++void InitializeCPUContextPPC64( ++ const SignalThreadContext64 &thread_context, ++ const SignalFloatContext64 &float_context, ++ const SignalVectorContext64 &vector_context, ++ typename Traits::CPUContext* context) { ++ ++ memcpy(context->regs, thread_context.regs, sizeof(context->regs)); ++ context->nip = thread_context.nip; ++ context->msr = thread_context.msr; ++ context->ccr = thread_context.ccr; ++ context->xer = thread_context.xer; ++ context->lnk = thread_context.lnk; ++ context->ctr = thread_context.ctr; ++ ++ memcpy(context->fpregs, float_context.regs, sizeof(context->fpregs)); ++ context->fpscr = float_context.fpscr; ++ ++ for (uint8_t i = 0; i < 32; i++) { ++ context->vregs.save_vr[i] = { ++ (((uint64_t)vector_context.vrregs[i][0]) << 32) | ++ vector_context.vrregs[i][1], ++ (((uint64_t)vector_context.vrregs[i][2]) << 32) | ++ vector_context.vrregs[i][3] ++ }; ++ } ++ context->vregs.save_vrsave = vector_context.vrsave; ++ context->vregs.save_vscr = {0, (uint64_t)vector_context.vscr.vscr_word}; ++} ++ ++ ++#endif ++ + } // namespace internal + } // namespace crashpad + +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc +@@ -194,12 +194,15 @@ void TestAgainstTarget(PtraceConnection* + device == 0 && inode == 0 && mapping_name == "[vdso]"; + #if defined(ARCH_CPU_X86) + static constexpr char kPrefix[] = "linux-gate.so."; ++ static constexpr char kPrefix64[] = "linux-gate.so."; + #else + static constexpr char kPrefix[] = "linux-vdso.so."; ++ static constexpr char kPrefix64[] = "linux-vdso64.so."; + #endif + return is_vdso_mapping == + (module_name.empty() || +- module_name.compare(0, strlen(kPrefix), kPrefix) == 0); ++ module_name.compare(0, strlen(kPrefix), kPrefix) == 0) || ++ module_name.compare(0, strlen(kPrefix64), kPrefix64) == 0); + }, + module_mapping->name, + module_mapping->device, +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc +@@ -367,6 +367,69 @@ bool ExceptionSnapshotLinux::ReadContext + return internal::ReadContext(reader, context_address, context_.riscv64); + } + ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ ++template ++static bool ReadContext(ProcessReaderLinux* reader, ++ LinuxVMAddress context_address, ++ typename Traits::CPUContext* dest_context) { ++ const ProcessMemory* memory = reader->Memory(); ++ ++ LinuxVMAddress gp_regs_address = context_address + ++ offsetof(UContext, mcontext) + ++ offsetof(typename Traits::MContext, gp_regs); ++ ++ typename Traits::SignalThreadContext thread_context; ++ if (!memory->Read(gp_regs_address, sizeof(thread_context), &thread_context)) { ++ LOG(ERROR) << "Couldn't read gp_regs!"; ++ return false; ++ } ++ ++ LinuxVMAddress fp_regs_address = context_address + ++ offsetof(UContext, mcontext) + ++ offsetof(typename Traits::MContext, fp_regs); ++ ++ typename Traits::SignalFloatContext fp_context; ++ if (!memory->Read(fp_regs_address, sizeof(fp_context), &fp_context)) { ++ LOG(ERROR) << "Couldn't read fp_regs!"; ++ return false; ++ } ++ ++ LinuxVMAddress v_regs_ptr_address = context_address + ++ offsetof(UContext, mcontext) + ++ offsetof(typename Traits::MContext, vmx_reserve) + 8; ++ ++ typename Traits::SignalVectorContext v_context; ++ if (!memory->Read(v_regs_ptr_address, sizeof(v_context), &v_context)) { ++ LOG(ERROR) << "Couldn't read v_regs!"; ++ return false; ++ } ++ ++ InitializeCPUContextPPC64(thread_context, fp_context, ++ v_context, dest_context); ++ ++ return true; ++} ++ ++template<> ++bool ExceptionSnapshotLinux::ReadContext( ++ ProcessReaderLinux* reader, ++ LinuxVMAddress context_address) { ++ context_.architecture = kCPUArchitecturePPC64; ++ context_.ppc64 = &context_union_.ppc64; ++ ++ return internal::ReadContext( ++ reader, context_address, context_.ppc64); ++} ++ ++template<> ++bool ExceptionSnapshotLinux::ReadContext( ++ ProcessReaderLinux* reader, ++ LinuxVMAddress context_address) { ++ // PPC64 is 64-bit ++ return false; ++} ++ + #endif // ARCH_CPU_X86_FAMILY + + bool ExceptionSnapshotLinux::Initialize( +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h +@@ -94,6 +94,8 @@ class ExceptionSnapshotLinux final : pub + CPUContextMIPS64 mips64; + #elif defined(ARCH_CPU_RISCV64) + CPUContextRISCV64 riscv64; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ CPUContextPPC64 ppc64; + #endif + } context_union_; + CPUContext context_; +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc +@@ -325,7 +325,28 @@ void ExpectContext(const CPUContext& act + sizeof(actual.riscv64->fpregs)), + 0); + } ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++using NativeCPUContext = ucontext_t; + ++void InitializeContext(NativeCPUContext* context) { ++ for (size_t reg = 0; reg < 32; ++reg) { ++ context->uc_mcontext.gp_regs[reg] = reg; ++ } ++ ++ memset(&context->uc_mcontext.fp_regs, 44, ++ sizeof(context->uc_mcontext.fp_regs)); ++} ++ ++void ExpectContext(const CPUContext& actual, const NativeCPUContext& expected) { ++ EXPECT_EQ(actual.architecture, kCPUArchitecturePPC64); ++ ++ for (size_t reg = 0; reg < 32; ++reg) { ++ EXPECT_EQ(actual.ppc64->regs[reg], expected.uc_mcontext.gp_regs[reg]); ++ } ++ ++ EXPECT_EQ(memcmp(actual.ppc64->fpregs, expected.uc_mcontext.fp_regs, ++ sizeof(actual.ppc64->fpregs)), 0); ++} + #else + #error Port. + #endif +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc +@@ -129,6 +129,8 @@ void ProcessReaderLinux::Thread::Initial + : thread_info.thread_context.t32.regs[29]; + #elif defined(ARCH_CPU_RISCV64) + stack_pointer = thread_info.thread_context.t64.regs[1]; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ stack_pointer = thread_info.thread_context.t64.gpr[1]; + #else + #error Port. + #endif +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h +@@ -456,6 +456,89 @@ static_assert(offsetof(UContext stack; ++ Sigset sigmask; ++ MContext64 mcontext; ++}; ++#pragma pack(push, 1) ++ ++static_assert(sizeof(UContext) == sizeof(ucontext_t), ++ "ucontext_t size mismatch"); ++static_assert(sizeof(MContext64) == sizeof(mcontext_t), ++ "mcontext_t size mismatch"); ++static_assert(sizeof(SignalThreadContext64) == sizeof(gregset_t), ++ "gregset_t size mismatch"); ++static_assert(sizeof(SignalFloatContext64) == sizeof(fpregset_t), ++ "fpregset_t size mismatch"); ++static_assert(sizeof(SignalVectorContext64) == sizeof(_libc_vrstate), ++ "vrstate size mismatch"); ++static_assert(offsetof(UContext, mcontext) == ++ offsetof(ucontext_t, uc_mcontext), "mcontext offset mismatch"); ++static_assert(offsetof(MContext64, gp_regs) == ++ offsetof(mcontext_t, gp_regs), "gp_regs offset mismatch"); + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc +@@ -229,6 +229,8 @@ CPUArchitecture SystemSnapshotLinux::Get + : kCPUArchitectureMIPSEL; + #elif defined(ARCH_CPU_RISCV64) + return kCPUArchitectureRISCV64; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ return kCPUArchitecturePPC64; + #else + #error port to your architecture + #endif +@@ -247,6 +249,9 @@ uint32_t SystemSnapshotLinux::CPURevisio + #elif defined(ARCH_CPU_RISCV64) + // Not implemented + return 0; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Not yet implemented on PPC64 ++ return 0; + #else + #error port to your architecture + #endif +@@ -270,6 +275,9 @@ std::string SystemSnapshotLinux::CPUVend + #elif defined(ARCH_CPU_RISCV64) + // Not implemented + return std::string(); ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Not yet implemented on PPC64 ++ return std::string(); + #else + #error port to your architecture + #endif +@@ -401,6 +409,9 @@ bool SystemSnapshotLinux::NXEnabled() co + #elif defined(ARCH_CPU_RISCV64) + // Not implemented + return false; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Not yet implemented on PPC64 ++ return false; + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc +@@ -196,6 +196,14 @@ bool ThreadSnapshotLinux::Initialize( + InitializeCPUContextRISCV64(thread.thread_info.thread_context.t64, + thread.thread_info.float_context.f64, + context_.riscv64); ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ context_.architecture = kCPUArchitecturePPC64; ++ context_.ppc64 = &context_union_.ppc64; ++ InitializeCPUContextPPC64( ++ thread.thread_info.thread_context.t64, ++ thread.thread_info.float_context.f64, ++ thread.thread_info.vector_context.v64, ++ context_.ppc64); + #else + #error Port. + #endif +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h +@@ -79,6 +79,8 @@ class ThreadSnapshotLinux final : public + CPUContextMIPS64 mips64; + #elif defined(ARCH_CPU_RISCV64) + CPUContextRISCV64 riscv64; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ CPUContextPPC64 ppc64; + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc +@@ -317,5 +317,38 @@ void InitializeCPUContextRISCV64(CPUCont + riscv64->fcsr = value++; + } + ++void InitializeCPUContextPPC64(CPUContext* context, uint32_t seed) { ++ context->architecture = kCPUArchitecturePPC64; ++ CPUContextPPC64* ppc64 = context->ppc64; ++ ++ if (seed == 0) { ++ memset(ppc64, 0, sizeof(*ppc64)); ++ return; ++ } ++ ++ uint64_t value = seed; ++ for (size_t i = 0; i < base::size(ppc64->regs); ++i) { ++ ppc64->regs[i] = value++; ++ } ++ ++ ppc64->nip = value++; ++ ppc64->msr = value++; ++ ppc64->ccr = value++; ++ ppc64->xer = value++; ++ ppc64->lnk = value++; ++ ppc64->ctr = value++; ++ ++ for (size_t i = 0; i < base::size(ppc64->fpregs); ++i) { ++ ppc64->fpregs[i] = static_cast(i); ++ } ++ ppc64->fpscr = value++; ++ ++ for (size_t i = 0; i < base::size(ppc64->vregs.save_vr); ++i) { ++ ppc64->vregs.save_vr[i] = {value++, value++}; ++ } ++ ppc64->vregs.save_vscr = {value++, value++}; ++ ppc64->vregs.save_vrsave = value++; ++} ++ + } // namespace test + } // namespace crashpad +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h +@@ -64,6 +64,7 @@ void InitializeCPUContextARM64(CPUContex + void InitializeCPUContextMIPS(CPUContext* context, uint32_t seed); + void InitializeCPUContextMIPS64(CPUContext* context, uint32_t seed); + void InitializeCPUContextRISCV64(CPUContext* context, uint32_t seed); ++void InitializeCPUContextPPC64(CPUContext* context, uint32_t seed); + //! \} + + } // namespace test +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc +@@ -51,6 +51,8 @@ LinuxVMAddress GetTLS() { + : "$3"); + #elif defined(ARCH_CPU_RISCV64) + asm("mv %0, tp" : "=r"(tls)); ++#elif defined(ARCH_CPU_PPC64) ++ asm("mr %0, 13": "=r"(tls)); + #else + #error Port. + #endif // ARCH_CPU_ARMEL +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc +@@ -162,7 +162,8 @@ void Multiprocess::SetExpectedChildTermi + } + + void Multiprocess::SetExpectedChildTerminationBuiltinTrap() { +-#if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_MIPS_FAMILY) ++#if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_MIPS_FAMILY) || \ ++ defined(ARCH_CPU_PPC64_FAMILY) + SetExpectedChildTermination(kTerminationSignal, SIGTRAP); + #else + SetExpectedChildTermination(kTerminationSignal, SIGILL); +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc +@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnect + if (type == AT_IGNORE) { + continue; + } ++#if defined(ARCH_CPU_PPC64_FAMILY) ++ if (type == AT_IGNOREPPC) { ++ continue; ++ } ++#endif + if (!MapInsertOrReplace(&values_, type, value, nullptr)) { + LOG(ERROR) << "duplicate auxv entry"; + return false; +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc +@@ -430,6 +430,64 @@ bool GetThreadArea64(pid_t tid, + return true; + } + ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++// PPC64 has had HAVE_ARCH_TRACEHOOK set since 2.6.27 (even before x86 had it). ++// That means we can simply use PTRACE_GETREGESET. ++ ++template ++bool GetRegisterSet(pid_t tid, int set, Destination* dest, bool can_log) { ++ iovec iov; ++ iov.iov_base = reinterpret_cast(dest); ++ iov.iov_len = sizeof(*dest); ++ if (ptrace(PTRACE_GETREGSET, tid, reinterpret_cast(set), &iov) != 0) { ++ PLOG_IF(ERROR, can_log) << "ptrace"; ++ return false; ++ } ++ if (iov.iov_len != sizeof(*dest)) { ++ LOG_IF(ERROR, can_log) << "Unexpected registers size"; ++ return false; ++ } ++ return true; ++} ++ ++bool GetVectorRegisters64(pid_t tid, ++ VectorContext* context, ++ bool can_log) { ++ return GetRegisterSet(tid, NT_PPC_VMX, &context->v64, can_log); ++} ++ ++bool GetFloatingPointRegisters64(pid_t tid, ++ FloatContext* context, ++ bool can_log) { ++ return GetRegisterSet(tid, NT_PRFPREG, &context->f64, can_log); ++} ++ ++bool GetThreadArea64(pid_t tid, ++ const ThreadContext& context, ++ LinuxVMAddress* address, ++ bool can_log) { ++ // PPC64 doesn't have PTRACE_GET_THREAD_AREA since the thread pointer ++ // is stored in GPR 13. ++ ThreadContext::t64_t tc; ++ if (!GetRegisterSet(tid, NT_PRSTATUS, &tc, can_log)) { ++ LOG_IF(ERROR, can_log) << "Unable to get thread pointer!"; ++ return false; ++ } ++ ++ *address = tc.gpr[13]; ++ ++ return true; ++} ++ ++// Stubs for 32-bit functions not applicable on PPC64 ++bool GetFloatingPointRegisters32(pid_t tid, ++ FloatContext* context, ++ bool can_log) { return false; } ++bool GetThreadArea32(pid_t tid, ++ const ThreadContext &context, ++ LinuxVMAddress *address, ++ bool can_log) { return false; } ++ + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +@@ -528,6 +586,9 @@ bool Ptracer::GetThreadInfo(pid_t tid, T + if (is_64_bit_) { + return GetGeneralPurposeRegisters64(tid, &info->thread_context, can_log_) && + GetFloatingPointRegisters64(tid, &info->float_context, can_log_) && ++#if defined(ARCH_CPU_PPC64_FAMILY) ++ GetVectorRegisters64(tid, &info->vector_context, can_log_) && ++#endif + GetThreadArea64(tid, + info->thread_context, + &info->thread_specific_data_address, +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/thread_info.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h +@@ -34,6 +34,10 @@ + #include + #endif + ++#if defined(ARCH_CPU_PPC64_FAMILY) ++#include ++#endif ++ + namespace crashpad { + + //! \brief The set of general purpose registers for an architecture family. +@@ -87,6 +91,8 @@ union ThreadContext { + uint32_t padding1_; + #elif defined(ARCH_CPU_RISCV64) + // 32 bit RISC-V not supported ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // PPC64 is 64-bit + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +@@ -144,6 +150,21 @@ union ThreadContext { + // Reflects user_regs_struct in asm/ptrace.h. + uint64_t pc; + uint64_t regs[31]; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Reflects struct pt_regs in asm/ptrace.h. ++ uint64_t gpr[32]; ++ uint64_t nip; ++ uint64_t msr; ++ uint64_t orig_gpr3; ++ uint64_t ctr; ++ uint64_t lnk; ++ uint64_t xer; ++ uint64_t ccr; ++ uint64_t softe; ++ uint64_t trap; ++ uint64_t dar; ++ uint64_t dsisr; ++ uint64_t result; + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +@@ -156,6 +177,8 @@ union ThreadContext { + using NativeThreadContext = user_regs; + #elif defined(ARCH_CPU_MIPS_FAMILY) + // No appropriate NativeThreadsContext type available for MIPS ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ using NativeThreadContext = struct pt_regs; + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY || ARCH_CPU_ARM64 || ARCH_CPU_RISCV64 +@@ -233,6 +256,9 @@ union FloatContext { + uint32_t fpu_id; + #elif defined(ARCH_CPU_RISCV64) + // 32 bit RISC-V not supported ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Crashpad's PPC support is 64-bit only, so this ++ // 32bit-only struct is declared as empty. + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +@@ -271,6 +297,10 @@ union FloatContext { + // Reflects __riscv_d_ext_state in asm/ptrace.h + uint64_t fpregs[32]; + uint64_t fcsr; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ // Reflects fpregset_t in sys/ucontext.h ++ double fpregs[32]; ++ double fpscr; + #else + #error Port. + #endif // ARCH_CPU_X86_FAMILY +@@ -302,6 +332,8 @@ union FloatContext { + // No appropriate floating point context native type for available MIPS. + #elif defined(ARCH_CPU_RISCV64) + static_assert(sizeof(f64) == sizeof(__riscv_d_ext_state), "Size mismatch"); ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ static_assert(sizeof(f64) == sizeof(fpregset_t), "Size mismatch"); + #else + #error Port. + #endif // ARCH_CPU_X86 +@@ -309,6 +341,26 @@ union FloatContext { + static_assert(std::is_standard_layout::value, + "Not standard layout"); + ++//! \brief The vector registers used for an architecture family ++union VectorContext { ++ struct v32_t {} v32; ++#if defined(ARCH_CPU_PPC64_FAMILY) ++ __attribute__((__aligned__(16))) // Vector context must be doubleword aligned. ++#endif ++ struct v64_t { ++#if defined(ARCH_CPU_PPC64_FAMILY) ++ // Reflects vrregset_t in sys/ucontext.h ++ uint32_t vrregs[32][4]; ++ struct { ++ uint32_t __pad[3]; ++ uint32_t vscr_word; ++ } vscr; ++ uint32_t vrsave; ++ uint32_t __pad[3]; ++#endif ++ } v64; ++}; ++ + //! \brief A collection of `ptrace`-able information about a thread. + struct ThreadInfo { + ThreadInfo(); +@@ -320,6 +372,9 @@ struct ThreadInfo { + //! \brief The floating point registers for the thread. + FloatContext float_context; + ++ //! \brief (Optional) The vector registers used for the thread. ++ VectorContext vector_context; ++ + //! \brief The thread-local storage address for the thread. + LinuxVMAddress thread_specific_data_address; + }; +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context.h ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h +@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t; + //! Linux | ARM/ARM64 | `r0`/`x0` + //! Linux | MIPS/MIPS64 | `$a0` + //! Linux | RISCV64 | `a0` ++//! Linux | PPC64 | `r3` + //! + //! Additionally, the value `LR` on ARM/ARM64 will be the return address of + //! this function. +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S +@@ -30,7 +30,7 @@ + .globl CAPTURECONTEXT_SYMBOL2 + #if defined(__i386__) || defined(__x86_64__) + .balign 16, 0x90 +-#elif defined(__arm__) || defined(__aarch64__) ++#elif defined(__arm__) || defined(__aarch64__) || defined(__powerpc64__) + .balign 4, 0x0 + .type CAPTURECONTEXT_SYMBOL, %function + .type CAPTURECONTEXT_SYMBOL2, %function +@@ -430,6 +430,216 @@ CAPTURECONTEXT_SYMBOL2: + + .set at + ++#elif defined(__powerpc64__) ++ // Store r0-r31 ++ std 0, 0xe8(3) // context->uc_mcontext.gp_regs[0] ++ std 1, 0xf0(3) // context->uc_mcontext.gp_regs[1] ++ std 2, 0xf8(3) // context->uc_mcontext.gp_regs[2] ++ // note that r3's original value was lost ++ std 3, 0x100(3) // context->uc_mcontext.gp_regs[3] ++ std 4, 0x108(3) // context->uc_mcontext.gp_regs[4] ++ std 5, 0x110(3) // context->uc_mcontext.gp_regs[5] ++ std 6, 0x118(3) // context->uc_mcontext.gp_regs[6] ++ std 7, 0x120(3) // context->uc_mcontext.gp_regs[7] ++ std 8, 0x128(3) // context->uc_mcontext.gp_regs[8] ++ std 9, 0x130(3) // context->uc_mcontext.gp_regs[9] ++ std 10, 0x138(3) // context->uc_mcontext.gp_regs[10] ++ std 11, 0x140(3) // context->uc_mcontext.gp_regs[11] ++ std 12, 0x148(3) // context->uc_mcontext.gp_regs[12] ++ std 13, 0x150(3) // context->uc_mcontext.gp_regs[13] ++ std 14, 0x158(3) // context->uc_mcontext.gp_regs[14] ++ std 15, 0x160(3) // context->uc_mcontext.gp_regs[15] ++ std 16, 0x168(3) // context->uc_mcontext.gp_regs[16] ++ std 17, 0x170(3) // context->uc_mcontext.gp_regs[17] ++ std 18, 0x178(3) // context->uc_mcontext.gp_regs[18] ++ std 19, 0x180(3) // context->uc_mcontext.gp_regs[19] ++ std 20, 0x188(3) // context->uc_mcontext.gp_regs[20] ++ std 21, 0x190(3) // context->uc_mcontext.gp_regs[21] ++ std 22, 0x198(3) // context->uc_mcontext.gp_regs[22] ++ std 23, 0x1a0(3) // context->uc_mcontext.gp_regs[23] ++ std 24, 0x1a8(3) // context->uc_mcontext.gp_regs[24] ++ std 25, 0x1b0(3) // context->uc_mcontext.gp_regs[25] ++ std 26, 0x1b8(3) // context->uc_mcontext.gp_regs[26] ++ std 27, 0x1c0(3) // context->uc_mcontext.gp_regs[27] ++ std 28, 0x1c8(3) // context->uc_mcontext.gp_regs[28] ++ std 29, 0x1d0(3) // context->uc_mcontext.gp_regs[29] ++ std 30, 0x1d8(3) // context->uc_mcontext.gp_regs[30] ++ std 31, 0x1e0(3) // context->uc_mcontext.gp_regs[31] ++ ++ // For NIP, we can use the value in the link register ++ mflr 0 ++ std 0, 0x1e8(3) // context->uc_mcontext.gp_regs[PT_NIP] ++ ++ // CTR ++ mfctr 0 ++ std 0, 0x200(3) // context->uc_mcontext.gp_regs[PT_CTR] ++ ++ // For LNK, we'll use the caller's LR save area (2 stack frames up). ++ // r4 can be used as a scratch register since it has already been saved. ++ ld 4, 0(1) ++ ld 4, 16(4) ++ std 4, 0x208(3) // context->uc_mcontext.gp_regs[PT_LNK] ++ ++ // XER ++ mfxer 0 ++ std 0, 0x210(3) // context->uc_mcontext.gp_regs[PT_XER] ++ ++ // CCR ++ mfcr 0 ++ std 0, 0x218(3) // context->uc_mcontext.gp_regs[PT_CCR] ++ ++ // MSR, orig_r3, MQ, TRAP, DAR, DSISR, RESULT, DSCR, ++ // not used or not relevant, zero them out. ++ li 4, 0 ++ std 4, 0x1f0(3) // context->uc_mcontext.gp_regs[PT_MSR] ++ std 4, 0x1f8(3) // context->uc_mcontext.gp_regs[PT_ORIG_R3] ++ std 4, 0x220(3) // context->uc_mcontext.gp_regs[PT_MQ] ++ std 4, 0x228(3) // context->uc_mcontext.gp_regs[PT_TRAP] ++ std 4, 0x230(3) // context->uc_mcontext.gp_regs[PT_DAR] ++ std 4, 0x238(3) // context->uc_mcontext.gp_regs[PT_DSISR] ++ std 4, 0x240(3) // context->uc_mcontext.gp_regs[PT_RESULT] ++ std 4, 0x248(3) // context->uc_mcontext.gp_regs[PT_DSCR] ++ ++ // Update context->uc_mcontext.regs to point to gp_regs ++ addi 0, 3, 0xe8 ++ std 0, 0xe0(3) ++ ++ // Save floating point registers 0-31 ++ stfd 0, 0x268(3) // context->uc_mcontext.fp_regs[0] ++ stfd 1, 0x270(3) // context->uc_mcontext.fp_regs[1] ++ stfd 2, 0x278(3) // context->uc_mcontext.fp_regs[2] ++ stfd 3, 0x280(3) // context->uc_mcontext.fp_regs[3] ++ stfd 4, 0x288(3) // context->uc_mcontext.fp_regs[4] ++ stfd 5, 0x290(3) // context->uc_mcontext.fp_regs[5] ++ stfd 6, 0x298(3) // context->uc_mcontext.fp_regs[6] ++ stfd 7, 0x2a0(3) // context->uc_mcontext.fp_regs[7] ++ stfd 8, 0x2a8(3) // context->uc_mcontext.fp_regs[8] ++ stfd 9, 0x2b0(3) // context->uc_mcontext.fp_regs[9] ++ stfd 10, 0x2b8(3) // context->uc_mcontext.fp_regs[10] ++ stfd 11, 0x2c0(3) // context->uc_mcontext.fp_regs[11] ++ stfd 12, 0x2c8(3) // context->uc_mcontext.fp_regs[12] ++ stfd 13, 0x2d0(3) // context->uc_mcontext.fp_regs[13] ++ stfd 14, 0x2d8(3) // context->uc_mcontext.fp_regs[14] ++ stfd 15, 0x2e0(3) // context->uc_mcontext.fp_regs[15] ++ stfd 16, 0x2e8(3) // context->uc_mcontext.fp_regs[16] ++ stfd 17, 0x2f0(3) // context->uc_mcontext.fp_regs[17] ++ stfd 18, 0x2f8(3) // context->uc_mcontext.fp_regs[18] ++ stfd 19, 0x300(3) // context->uc_mcontext.fp_regs[19] ++ stfd 20, 0x308(3) // context->uc_mcontext.fp_regs[20] ++ stfd 21, 0x310(3) // context->uc_mcontext.fp_regs[21] ++ stfd 22, 0x318(3) // context->uc_mcontext.fp_regs[22] ++ stfd 23, 0x320(3) // context->uc_mcontext.fp_regs[23] ++ stfd 24, 0x328(3) // context->uc_mcontext.fp_regs[24] ++ stfd 25, 0x330(3) // context->uc_mcontext.fp_regs[25] ++ stfd 26, 0x338(3) // context->uc_mcontext.fp_regs[26] ++ stfd 27, 0x340(3) // context->uc_mcontext.fp_regs[27] ++ stfd 28, 0x348(3) // context->uc_mcontext.fp_regs[28] ++ stfd 29, 0x350(3) // context->uc_mcontext.fp_regs[29] ++ stfd 30, 0x358(3) // context->uc_mcontext.fp_regs[30] ++ stfd 31, 0x360(3) // context->uc_mcontext.fp_regs[31] ++ ++ // FPSCR ++ mffs 0 ++ stfd 0, 0x368(3) // context->uc_mcontext.fp_regs[32] ++ ++ // Save VMX Vector registers ++ // Update r4 to contain the base address of vmx_reserve ++ addi 4, 3, 0x378 ++ // Ensure that it is quadword aligned ++ andi. 5, 4, 0xF ++ beq 1f // No alignment is necessary ++ // Address is doubleword aligned and not quadword aligned, add 8 ++ addi 4, 4, 8 ++ ++1: ++ // Store VMX registers 0-31 ++ // r4 will contain the base address ++ // r5 will contain the index ++ li 5, 0 ++ stvx 0, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 0] ++ addi 5, 5, 16 ++ stvx 1, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 1] ++ addi 5, 5, 16 ++ stvx 2, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 2] ++ addi 5, 5, 16 ++ stvx 3, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 3] ++ addi 5, 5, 16 ++ stvx 4, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 4] ++ addi 5, 5, 16 ++ stvx 5, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 5] ++ addi 5, 5, 16 ++ stvx 6, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 6] ++ addi 5, 5, 16 ++ stvx 7, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 7] ++ addi 5, 5, 16 ++ stvx 8, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 8] ++ addi 5, 5, 16 ++ stvx 9, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 9] ++ addi 5, 5, 16 ++ stvx 10, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 10] ++ addi 5, 5, 16 ++ stvx 11, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 11] ++ addi 5, 5, 16 ++ stvx 12, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 12] ++ addi 5, 5, 16 ++ stvx 13, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 13] ++ addi 5, 5, 16 ++ stvx 14, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 14] ++ addi 5, 5, 16 ++ stvx 15, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 15] ++ addi 5, 5, 16 ++ stvx 16, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 16] ++ addi 5, 5, 16 ++ stvx 17, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 17] ++ addi 5, 5, 16 ++ stvx 18, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 18] ++ addi 5, 5, 16 ++ stvx 19, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 19] ++ addi 5, 5, 16 ++ stvx 20, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 20] ++ addi 5, 5, 16 ++ stvx 21, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 21] ++ addi 5, 5, 16 ++ stvx 22, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 22] ++ addi 5, 5, 16 ++ stvx 23, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 23] ++ addi 5, 5, 16 ++ stvx 24, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 24] ++ addi 5, 5, 16 ++ stvx 25, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 25] ++ addi 5, 5, 16 ++ stvx 26, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 26] ++ addi 5, 5, 16 ++ stvx 27, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 27] ++ addi 5, 5, 16 ++ stvx 28, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 28] ++ addi 5, 5, 16 ++ stvx 29, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 29] ++ addi 5, 5, 16 ++ stvx 30, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 30] ++ addi 5, 5, 16 ++ stvx 31, 4, 5 // context->uc_mcontext.vmx_reserve[(align) + 31] ++ addi 5, 5, 16 ++ ++ // VSCR ++ mfvscr 0 ++ stvx 0, 4, 5 ++ addi 5, 5, 16 ++ ++ // VRSAVE ++ mfvrsave 0 ++ stwx 0, 4, 5 ++ ++ // Update context->uc_mcontext.v_regs to point to vmx_reserve + alignment. ++ std 4, 0x370(3) ++ ++ // Zero out all unused fields ++ li 4, 0 ++ std 4, 0xc8(3) // context->uc_mcontext.signal ++ std 4, 0xd0(3) // context->uc_mcontext.handler ++ std 4, 0xd8(3) // context->uc_mcontext.oldmask ++ ++ blr + #elif defined(__riscv) + + #define MCONTEXT_GREGS_OFFSET 176 +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc +@@ -48,7 +48,7 @@ void TestCaptureContext() { + uintptr_t pc = ProgramCounterFromContext(context_1); + + #if !defined(ADDRESS_SANITIZER) && !defined(ARCH_CPU_MIPS_FAMILY) && \ +- !defined(MEMORY_SANITIZER) ++ !defined(MEMORY_SANITIZER) && !defined(ARCH_CPU_PPC64_FAMILY) + // Sanitizers can cause enough code bloat that the “nearby” check would + // likely fail. + const uintptr_t kReferencePC = +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc +@@ -38,6 +38,8 @@ void SanityCheckContext(const NativeCPUC + #elif defined(ARCH_CPU_RISCV64) + EXPECT_EQ(context.uc_mcontext.__gregs[10], + FromPointerCast(&context)); ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ EXPECT_EQ(context.uc_mcontext.gp_regs[3], FromPointerCast(&context)); + #endif + } + +@@ -54,6 +56,8 @@ uintptr_t ProgramCounterFromContext(cons + return context.uc_mcontext.pc; + #elif defined(ARCH_CPU_RISCV64) + return context.uc_mcontext.__gregs[0]; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ return context.uc_mcontext.gp_regs[PT_NIP]; + #endif + } + +@@ -70,6 +74,8 @@ uintptr_t StackPointerFromContext(const + return context.uc_mcontext.gregs[29]; + #elif defined(ARCH_CPU_RISCV64) + return context.uc_mcontext.__gregs[2]; ++#elif defined(ARCH_CPU_PPC64_FAMILY) ++ return context.uc_mcontext.gp_regs[1]; + #endif + } + diff --git a/0001-Implement-support-for-ppc64-on-Linux.patch b/0001-Implement-support-for-ppc64-on-Linux.patch new file mode 100644 index 0000000..fa7ef9f --- /dev/null +++ b/0001-Implement-support-for-ppc64-on-Linux.patch @@ -0,0 +1,773 @@ +From cda9400739dfa064907d822f00578bb51b24a404 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Fri, 17 Aug 2018 14:18:33 -0500 +Subject: [PATCH] Implement support for ppc64 on Linux + +This patch implements support for the ppc64 architecture on Linux systems. + +Notable changes include: +* Modification of tests to support non-4K page sizes +* minidump_writer: Determine size of stack to capture based on page size +* dump_writer_common: Introduce member function GetVectorRegisters to + ThreadInfo on ppc64 systems. This allows Altivec/VMX registers to be + dumped like they are on OS X. linux_ptrace_dumper has been updated + to utilize this function along with the ptrace mode NT_PPC_VMX. +* processor/exploitability_unittest.cc: Tests were disabled on + non-x86 systems. They assume the system objdump is capable of + disassembling x86 binaries which is not the case on other + architectures. + +To-do: +* tools/linux/md2core has been updated as well, but functionality + has not been confirmed and restoration of Altivec/VMX registers + has not been implemented + +Note that proper functionality depends on updates to third_party/LSS +that introduce PPC64 support. An in-progress patch that allows +breakpad to build and run successfully is available at: +https://wiki.raptorcs.com/wiki/Porting/Chromium +--- + .../dump_writer_common/raw_context_cpu.h | 2 + + .../linux/dump_writer_common/thread_info.cc | 56 ++++++++++++++++++- + .../linux/dump_writer_common/thread_info.h | 9 +++ + .../dump_writer_common/ucontext_reader.cc | 42 ++++++++++++++ + .../dump_writer_common/ucontext_reader.h | 3 + + src/client/linux/handler/exception_handler.cc | 22 +++++++- + src/client/linux/handler/exception_handler.h | 6 +- + .../handler/exception_handler_unittest.cc | 8 ++- + .../microdump_writer/microdump_writer.cc | 14 ++++- + .../microdump_writer_unittest.cc | 15 ++++- + .../minidump_writer/linux_core_dumper.cc | 8 ++- + .../linux/minidump_writer/linux_dumper.cc | 4 +- + .../linux/minidump_writer/linux_dumper.h | 3 +- + .../linux_dumper_unittest_helper.cc | 2 + + .../minidump_writer/linux_ptrace_dumper.cc | 19 +++++-- + .../linux_ptrace_dumper_unittest.cc | 5 ++ + .../linux/minidump_writer/minidump_writer.cc | 18 ++++-- + .../linux/minidump_writer/minidump_writer.h | 2 + + .../minidump_writer_unittest.cc | 3 + + src/common/linux/memory_mapped_file.cc | 3 +- + .../linux/memory_mapped_file_unittest.cc | 7 ++- + src/common/memory_allocator_unittest.cc | 3 +- + src/processor/exploitability_linux.cc | 2 + + src/processor/exploitability_unittest.cc | 15 +++-- + src/tools/linux/md2core/minidump-2-core.cc | 45 +++++++++++++++ + 25 files changed, 281 insertions(+), 35 deletions(-) + +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h +@@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP + # else + # error "Unexpected __riscv_xlen" + # endif ++#elif defined(__powerpc64__) ++typedef MDRawContextPPC64 RawContextCPU; + #else + #error "This code has not been ported to your platform yet." + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +@@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte + #error "Unexpected __riscv_xlen" + #endif + } +-#endif // __riscv ++ ++#elif defined(__powerpc64__) ++ ++uintptr_t ThreadInfo::GetInstructionPointer() const { ++ return mcontext.gp_regs[PT_NIP]; ++} ++ ++void ThreadInfo::FillCPUContext(RawContextCPU* out) const { ++ out->context_flags = MD_CONTEXT_PPC64_FULL; ++ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) ++ out->gpr[i] = mcontext.gp_regs[i]; ++ ++ out->lr = mcontext.gp_regs[PT_LNK]; ++ out->srr0 = mcontext.gp_regs[PT_NIP]; ++ out->srr1 = mcontext.gp_regs[PT_MSR]; ++ out->cr = mcontext.gp_regs[PT_CCR]; ++ out->xer = mcontext.gp_regs[PT_XER]; ++ out->ctr = mcontext.gp_regs[PT_CTR]; ++ ++ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) ++ out->float_save.fpregs[i] = mcontext.fp_regs[i]; ++ ++ out->float_save.fpscr = mcontext.fp_regs[NFPREG-1]; ++ ++ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) ++ out->vector_save.save_vr[i] = \ ++ {(((uint64_t)vregs.vrregs[i][0]) << 32) ++ | vregs.vrregs[i][1], ++ (((uint64_t)vregs.vrregs[i][2]) << 32) ++ | vregs.vrregs[i][3]}; ++ ++ out->vrsave = vregs.vrsave; ++ out->vector_save.save_vscr = {0, vregs.vscr.vscr_word}; ++ out->vector_save.save_vrvalid = 0xFFFFFFFF; ++} ++#endif // __powerpc64__ + + void ThreadInfo::GetGeneralPurposeRegisters(void** gp_regs, size_t* size) { + assert(gp_regs || size); +@@ -350,6 +385,11 @@ void ThreadInfo::GetGeneralPurposeRegist + *gp_regs = mcontext.__gregs; + if (size) + *size = sizeof(mcontext.__gregs); ++#elif defined(__powerpc64__) ++ if (gp_regs) ++ *gp_regs = mcontext.gp_regs; ++ if (size) ++ *size = sizeof(mcontext.gp_regs); + #else + if (gp_regs) + *gp_regs = ®s; +@@ -384,6 +424,11 @@ void ThreadInfo::GetFloatingPointRegiste + # else + # error "Unexpected __riscv_flen" + # endif ++#elif defined(__powerpc64__) ++ if (fp_regs) ++ *fp_regs = &mcontext.fp_regs; ++ if (size) ++ *size = sizeof(mcontext.fp_regs); + #else + if (fp_regs) + *fp_regs = &fpregs; +@@ -392,4 +437,13 @@ void ThreadInfo::GetFloatingPointRegiste + #endif + } + ++#if defined(__powerpc64__) ++void ThreadInfo::GetVectorRegisters(void** v_regs, size_t* size) { ++ if (v_regs) ++ *v_regs = &vregs; ++ if (size) ++ *size = sizeof(vregs); ++} ++#endif ++ + } // namespace google_breakpad +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h +@@ -67,6 +67,10 @@ struct ThreadInfo { + // Use the structures defined in + struct user_regs_struct regs; + struct user_fpsimd_struct fpregs; ++#elif defined(__powerpc64__) ++ // Use the structures defined in . ++ mcontext_t mcontext; ++ struct _libc_vrstate vregs; + #elif defined(__mips__) || defined(__riscv) + // Use the structure defined in . + mcontext_t mcontext; +@@ -83,6 +87,11 @@ struct ThreadInfo { + + // Returns the pointer and size of float point register area. + void GetFloatingPointRegisters(void** fp_regs, size_t* size); ++ ++#if defined(__powerpc64__) ++ // Returns the pointer and size of the vector register area. (PPC64 only) ++ void GetVectorRegisters(void** v_regs, size_t* size); ++#endif + }; + + } // namespace google_breakpad +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC + #error "Unexpected __riscv_xlen" + #endif + } ++ ++#elif defined(__powerpc64__) ++ ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { ++ return uc->uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]; ++} ++ ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { ++ return uc->uc_mcontext.gp_regs[PT_NIP]; ++} ++ ++void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, ++ const struct _libc_vrstate* vregs) { ++ out->context_flags = MD_CONTEXT_PPC64_FULL; ++ ++ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) ++ out->gpr[i] = uc->uc_mcontext.gp_regs[i]; ++ ++ out->lr = uc->uc_mcontext.gp_regs[PT_LNK]; ++ out->srr0 = uc->uc_mcontext.gp_regs[PT_NIP]; ++ out->srr1 = uc->uc_mcontext.gp_regs[PT_MSR]; ++ out->cr = uc->uc_mcontext.gp_regs[PT_CCR]; ++ out->xer = uc->uc_mcontext.gp_regs[PT_XER]; ++ out->ctr = uc->uc_mcontext.gp_regs[PT_CTR]; ++ ++ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) ++ out->float_save.fpregs[i] = uc->uc_mcontext.fp_regs[i]; ++ ++ out->float_save.fpscr = uc->uc_mcontext.fp_regs[NFPREG-1]; ++ ++ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) ++ out->vector_save.save_vr[i] = ++ {(((uint64_t)vregs->vrregs[i][0]) << 32) ++ | vregs->vrregs[i][1], ++ (((uint64_t)vregs->vrregs[i][2]) << 32) ++ | vregs->vrregs[i][3]}; ++ ++ out->vrsave = vregs->vrsave; ++ out->vector_save.save_vscr = {0, vregs->vscr.vscr_word}; ++ out->vector_save.save_vrvalid = 0xFFFFFFFF; ++} ++ + #endif + + } // namespace google_breakpad +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -54,6 +54,9 @@ struct UContextReader { + #elif defined(__aarch64__) + static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc, + const struct fpsimd_context* fpregs); ++#elif defined(__powerpc64__) ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, ++ const struct _libc_vrstate* vregs); + #else + static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc); + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +@@ -466,6 +466,13 @@ bool ExceptionHandler::HandleSignal(int + memcpy(&g_crash_context_.float_state, fp_ptr, + sizeof(g_crash_context_.float_state)); + } ++#elif defined(__powerpc64__) ++ // On PPC64, we must copy VR state ++ ucontext_t* uc_ptr = (ucontext_t*)uc; ++ if (uc_ptr->uc_mcontext.v_regs) { ++ memcpy(&g_crash_context_.vector_state, uc_ptr->uc_mcontext.v_regs, ++ sizeof(g_crash_context_.vector_state)); ++ } + #elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + ucontext_t* uc_ptr = (ucontext_t*)uc; + if (uc_ptr->uc_mcontext.fpregs) { +@@ -704,10 +711,18 @@ bool ExceptionHandler::WriteMinidump() { + } + #endif + +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE && !defined(__aarch64__) ++#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE && !defined(__aarch64__) \ ++ && !defined(__powerpc64__) + memcpy(&context.float_state, context.context.uc_mcontext.fpregs, + sizeof(context.float_state)); + #endif ++ ++#if defined(__powerpc64__) ++ // Vector registers must be copied on PPC64 ++ memcpy(&context.vector_state, context.context.uc_mcontext.v_regs, ++ sizeof(context.vector_state)); ++#endif ++ + context.tid = sys_gettid(); + + // Add an exception stream to the minidump for better reporting. +@@ -728,6 +743,9 @@ bool ExceptionHandler::WriteMinidump() { + #elif defined(__mips__) + context.siginfo.si_addr = + reinterpret_cast(context.context.uc_mcontext.pc); ++#elif defined(__powerpc64__) ++ context.siginfo.si_addr = ++ reinterpret_cast(context.context.uc_mcontext.gp_regs[PT_NIP]); + #elif defined(__riscv) + context.siginfo.si_addr = + reinterpret_cast(context.context.uc_mcontext.__gregs[REG_PC]); +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h +@@ -197,7 +197,11 @@ class ExceptionHandler { + siginfo_t siginfo; + pid_t tid; // the crashing thread. + ucontext_t context; +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ // PPC64's FP state is a part of ucontext_t like MIPS but the vector ++ // state is not, so a struct is needed. ++ vstate_t vector_state; ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + fpstate_t float_state; + #endif + }; +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc +@@ -325,7 +325,7 @@ TEST(ExceptionHandlerTest, ParallelChild + ASSERT_EQ(SIGSEGV, WTERMSIG(status)); + return; + } else { +- usleep(100000); ++ usleep(200000); + } + } + +@@ -581,6 +581,8 @@ const unsigned char kIllegalInstruction[ + #if defined(__mips__) + // mfc2 zero,Impl - usually illegal in userspace. + 0x48, 0x00, 0x00, 0x48 ++#elif defined(__powerpc64__) ++ 0x01, 0x01, 0x01, 0x01 // Crashes on a tested POWER9 cpu + #else + // This crashes with SIGILL on x86/x86-64/arm. + 0xff, 0xff, 0xff, 0xff +@@ -776,10 +778,10 @@ TEST(ExceptionHandlerTest, InstructionPo + + // These are defined here so the parent can use them to check the + // data from the minidump afterwards. +- // Use 4k here because the OS will hand out a single page even ++ // Use the page size here because the OS will hand out a single page even + // if a smaller size is requested, and this test wants to + // test the upper bound of the memory range. +- const uint32_t kMemorySize = 4096; // bytes ++ const uint32_t kMemorySize = getpagesize(); // bytes + const int kOffset = kMemorySize - sizeof(kIllegalInstruction); + + const pid_t child = fork(); +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc +@@ -143,7 +143,9 @@ class MicrodumpWriter { + const MicrodumpExtraInfo& microdump_extra_info, + LinuxDumper* dumper) + : ucontext_(context ? &context->context : nullptr), +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ vector_state_(context ? &context->vector_state : nullptr), ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + float_state_(context ? &context->float_state : nullptr), + #endif + dumper_(dumper), +@@ -350,6 +352,8 @@ class MicrodumpWriter { + # else + # error "Unexpected __riscv_xlen" + # endif ++#elif defined(__powerpc64__) ++ const char kArch[] = "ppc64"; + #else + # error "This code has not been ported to your platform yet" + #endif +@@ -422,7 +426,9 @@ class MicrodumpWriter { + void DumpCPUState() { + RawContextCPU cpu; + my_memset(&cpu, 0, sizeof(RawContextCPU)); +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ UContextReader::FillCPUContext(&cpu, ucontext_, vector_state_); ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + UContextReader::FillCPUContext(&cpu, ucontext_, float_state_); + #else + UContextReader::FillCPUContext(&cpu, ucontext_); +@@ -618,7 +624,9 @@ class MicrodumpWriter { + void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } + + const ucontext_t* const ucontext_; +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ const google_breakpad::vstate_t* const vector_state_; ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + const google_breakpad::fpstate_t* const float_state_; + #endif + LinuxDumper* dumper_; +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc +@@ -281,10 +281,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi + CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf); + ASSERT_TRUE(ContainsMicrodump(buf)); + ++ int page_size = getpagesize(); + #ifdef __LP64__ +- ASSERT_NE(std::string::npos, +- buf.find("M 0000000000001000 000000000000002A 0000000000001000 " +- "33221100554477668899AABBCCDDEEFF0 libfoo.so")); ++ // This test is only available for the following page sizes ++ ASSERT_TRUE((page_size == 4096) || (page_size == 65536)); ++ if (page_size == 4096) { ++ ASSERT_NE(std::string::npos, ++ buf.find("M 0000000000001000 000000000000002A 0000000000001000 " ++ "33221100554477668899AABBCCDDEEFF0 libfoo.so")); ++ } else { ++ ASSERT_NE(std::string::npos, ++ buf.find("M 0000000000010000 000000000000002A 0000000000010000 " ++ "33221100554477668899AABBCCDDEEFF0 libfoo.so")); ++ } + #else + ASSERT_NE(std::string::npos, + buf.find("M 00001000 0000002A 00001000 " +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc +@@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd + #elif defined(__riscv) + stack_pointer = reinterpret_cast( + info->mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP]); ++#elif defined(__powerpc64__) ++ stack_pointer = ++ reinterpret_cast(info->mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]); + #else + # error "This code hasn't been ported to your platform yet." + #endif +@@ -213,7 +216,10 @@ bool LinuxCoreDumper::EnumerateThreads() + memset(&info, 0, sizeof(ThreadInfo)); + info.tgid = status->pr_pgrp; + info.ppid = status->pr_ppid; +-#if defined(__mips__) ++#if defined(__powerpc64__) ++ for (int i = 0; i < 31; i++) ++ info.mcontext.gp_regs[i] = status->pr_reg[i]; ++#elif defined(__mips__) + # if defined(__ANDROID__) + for (int i = EF_R0; i <= EF_R31; i++) + info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +@@ -789,7 +789,9 @@ bool LinuxDumper::GetStackInfo(const voi + reinterpret_cast(int_stack_pointer & ~(page_size - 1)); + + // The number of bytes of stack which we try to capture. +- static const ptrdiff_t kStackToCapture = 32 * 1024; ++ // This now depends on page_size to avoid missing data ++ // on systems with larger page sizes. ++ static const ptrdiff_t kStackToCapture = 8 * page_size; + + const MappingInfo* mapping = FindMapping(stack_pointer); + if (!mapping) +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h +@@ -64,7 +64,8 @@ namespace google_breakpad { + typedef Elf32_auxv_t elf_aux_entry; + #elif defined(__x86_64) || defined(__aarch64__) || \ + (defined(__mips__) && _MIPS_SIM != _ABIO32) || \ +- (defined(__riscv) && __riscv_xlen == 64) ++ (defined(__riscv) && __riscv_xlen == 64) || \ ++ defined(__powerpc64__) + typedef Elf64_auxv_t elf_aux_entry; + #endif + +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +@@ -57,6 +57,8 @@ + #define TID_PTR_REGISTER "$1" + #elif defined(__riscv) + #define TID_PTR_REGISTER "x4" ++#elif defined(__powerpc64__) ++#define TID_PTR_REGISTER "r8" + #else + #error This test has not been ported to this platform. + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +@@ -208,12 +208,12 @@ bool LinuxPtraceDumper::ReadRegisterSet( + #ifdef PTRACE_GETREGSET + struct iovec io; + info->GetGeneralPurposeRegisters(&io.iov_base, &io.iov_len); +- if (sys_ptrace(PTRACE_GETREGSET, tid, (void*)NT_PRSTATUS, (void*)&io) == -1) { ++ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_PRSTATUS, (void*)&io) == -1) { + return false; + } + + info->GetFloatingPointRegisters(&io.iov_base, &io.iov_len); +- if (sys_ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { ++ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { + // We are going to check if we can read VFP registers on ARM32. + // Currently breakpad does not support VFP registers to be a part of minidump, + // so this is only to confirm that we can actually read FP registers. +@@ -233,6 +233,15 @@ bool LinuxPtraceDumper::ReadRegisterSet( + } + #endif // defined(__arm__) + } ++ ++#if defined(__powerpc64__) ++ // Grab the vector registers on PPC64 too ++ info->GetVectorRegisters(&io.iov_base, &io.iov_len); ++ if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_PPC_VMX, (void*)&io) == -1) { ++ return false; ++ } ++#endif // defined(__powerpc64__) ++ + return true; + #else + return false; +@@ -397,6 +406,9 @@ bool LinuxPtraceDumper::GetThreadInfoByI + #elif defined(__riscv) + stack_pointer = reinterpret_cast( + info->mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP]); ++#elif defined(__powerpc64__) ++ stack_pointer = ++ reinterpret_cast(info->mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]); + #else + # error "This code hasn't been ported to your platform yet." + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc +@@ -469,6 +469,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR + #elif defined(__riscv) + pid_t* process_tid_location = + reinterpret_cast(one_thread.mcontext.__gregs[4]); ++#elif defined(__powerpc64__) ++ pid_t* process_tid_location = ++ reinterpret_cast(one_thread.mcontext.gp_regs[8]); + #else + #error This test has not been ported to this platform. + #endif +@@ -568,6 +571,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt + uintptr_t heap_addr = thread_info.mcontext.gregs[1]; + #elif defined(__riscv) + uintptr_t heap_addr = thread_info.mcontext.__gregs[4]; ++#elif defined(__powerpc64__) ++ uintptr_t heap_addr = thread_info.mcontext.gp_regs[8]; + #else + #error This test has not been ported to this platform. + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +@@ -145,7 +145,9 @@ class MinidumpWriter { + : fd_(minidump_fd), + path_(minidump_path), + ucontext_(context ? &context->context : nullptr), +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ vector_state_(context ? &context->vector_state : nullptr), ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + float_state_(context ? &context->float_state : nullptr), + #endif + dumper_(dumper), +@@ -477,7 +479,9 @@ class MinidumpWriter { + if (!cpu.Allocate()) + return false; + my_memset(cpu.get(), 0, sizeof(RawContextCPU)); +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ UContextReader::FillCPUContext(cpu.get(), ucontext_, vector_state_); ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_); + #else + UContextReader::FillCPUContext(cpu.get(), ucontext_); +@@ -954,7 +958,7 @@ class MinidumpWriter { + dirent->location.rva = 0; + } + +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || defined(__powerpc64__) + bool WriteCPUInformation(MDRawSystemInfo* sys_info) { + char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0}; + static const char vendor_id_name[] = "vendor_id"; +@@ -974,7 +978,9 @@ class MinidumpWriter { + + // processor_architecture should always be set, do this first + sys_info->processor_architecture = +-#if defined(__mips__) ++#if defined(__powerpc64__) ++ MD_CPU_ARCHITECTURE_PPC64; ++#elif defined(__mips__) + # if _MIPS_SIM == _ABIO32 + MD_CPU_ARCHITECTURE_MIPS; + # elif _MIPS_SIM == _ABI64 +@@ -1441,7 +1447,9 @@ class MinidumpWriter { + const char* path_; // Path to the file where the minidum should be written. + + const ucontext_t* const ucontext_; // also from the signal handler +-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE ++#if defined(__powerpc64__) ++ const google_breakpad::vstate_t* const vector_state_; ++#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE + const google_breakpad::fpstate_t* const float_state_; // ditto + #endif + LinuxDumper* dumper_; +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +@@ -47,6 +47,8 @@ class ExceptionHandler; + + #if defined(__aarch64__) + typedef struct fpsimd_context fpstate_t; ++#elif defined(__powerpc64__) ++typedef struct _libc_vrstate vstate_t; + #elif !defined(__ARM_EABI__) && !defined(__mips__) + typedef std::remove_pointer::type fpstate_t; + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc +@@ -723,6 +723,9 @@ TEST(MinidumpWriterTest, InvalidStackPoi + #elif defined(__riscv) + context.context.uc_mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP] = + invalid_stack_pointer; ++#elif defined(__powerpc64__) ++ context.context.uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP] = ++ invalid_stack_pointer; + #else + # error "This code has not been ported to your platform yet." + #endif +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p + + #if defined(__x86_64__) || defined(__aarch64__) || \ + (defined(__mips__) && _MIPS_SIM == _ABI64) || \ +- (defined(__riscv) && __riscv_xlen == 64) +- ++ (defined(__riscv) && __riscv_xlen == 64) || defined(__powerpc64__) + struct kernel_stat st; + if (sys_fstat(fd, &st) == -1 || st.st_size < 0) { + #else +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc +@@ -178,9 +178,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM + TEST_F(MemoryMappedFileTest, MapWithOffset) { + // Put more data in the test file this time. Offsets can only be + // done on page boundaries, so we need a two page file to test this. +- const int page_size = 4096; +- char data1[2 * page_size]; +- size_t data1_size = sizeof(data1); ++ const int page_size = getpagesize(); ++ char *data1 = static_cast(malloc(2 * page_size)); ++ EXPECT_TRUE(data1 != NULL); ++ size_t data1_size = (2 * page_size); + for (size_t i = 0; i < data1_size; ++i) { + data1[i] = i & 0x7f; + } +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc +@@ -64,8 +64,9 @@ TEST(PageAllocatorTest, LargeObject) { + + EXPECT_EQ(0U, allocator.pages_allocated()); + uint8_t* p = reinterpret_cast(allocator.Alloc(10000)); ++ uint64_t expected_pages = 1 + ((10000 - 1) / getpagesize()); + ASSERT_FALSE(p == nullptr); +- EXPECT_EQ(3U, allocator.pages_allocated()); ++ EXPECT_EQ(expected_pages, allocator.pages_allocated()); + for (unsigned i = 1; i < 10; ++i) { + uint8_t* p = reinterpret_cast(allocator.Alloc(i)); + ASSERT_FALSE(p == nullptr); +Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc ++++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc +@@ -82,6 +82,8 @@ + #define ELF_ARCH EM_AARCH64 + #elif defined(__riscv) + #define ELF_ARCH EM_RISCV ++#elif defined(__powerpc64__) ++ #define ELF_ARCH EM_PPC64 + #endif + + #if defined(__arm__) +@@ -92,6 +94,8 @@ typedef user_regs user_regs_struct; + #elif defined (__mips__) || defined(__riscv) + // This file-local typedef simplifies the source code. + typedef gregset_t user_regs_struct; ++#elif defined(__powerpc64__) ++typedef struct pt_regs user_regs_struct; + #endif + + using google_breakpad::MDTypeHelper; +@@ -325,6 +329,9 @@ struct CrashedProcess { + #if defined(__aarch64__) + user_fpsimd_struct fpregs; + #endif ++#if defined(__powerpc64__) ++ mcontext_t mcontext; ++#endif + uintptr_t stack_addr; + const uint8_t* stack; + size_t stack_length; +@@ -628,6 +635,38 @@ ParseThreadRegisters(CrashedProcess::Thr + #error "Unexpected __riscv_xlen" + #endif + } ++#elif defined(__powerpc64__) ++static void ++ParseThreadRegisters(CrashedProcess::Thread* thread, ++ const MinidumpMemoryRange& range) { ++ const MDRawContextPPC64* rawregs = range.GetData(0); ++ ++ for (int i = 0; i < MD_CONTEXT_PPC64_GPR_COUNT; i++) ++ thread->mcontext.gp_regs[i] = rawregs->gpr[i]; ++ ++ thread->mcontext.gp_regs[PT_LNK] = rawregs->lr; ++ thread->mcontext.gp_regs[PT_NIP] = rawregs->srr0; ++ thread->mcontext.gp_regs[PT_MSR] = rawregs->srr1; ++ thread->mcontext.gp_regs[PT_CCR] = rawregs->cr; ++ thread->mcontext.gp_regs[PT_XER] = rawregs->xer; ++ thread->mcontext.gp_regs[PT_CTR] = rawregs->ctr; ++ thread->mcontext.v_regs->vrsave = rawregs->vrsave; ++ ++ for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) ++ thread->mcontext.fp_regs[i] = rawregs->float_save.fpregs[i]; ++ ++ thread->mcontext.fp_regs[NFPREG-1] = rawregs->float_save.fpscr; ++ ++ for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) { ++ thread->mcontext.v_regs->vrregs[i][0] = rawregs->vector_save.save_vr[i].high >> 32; ++ thread->mcontext.v_regs->vrregs[i][1] = rawregs->vector_save.save_vr[i].high; ++ thread->mcontext.v_regs->vrregs[i][2] = rawregs->vector_save.save_vr[i].low >> 32; ++ thread->mcontext.v_regs->vrregs[i][3] = rawregs->vector_save.save_vr[i].low; ++ } ++ ++ thread->mcontext.v_regs->vscr.vscr_word = rawregs->vector_save.save_vscr.low & 0xFFFFFFFF; ++} ++ + #else + #error "This code has not been ported to your platform yet" + #endif +@@ -733,6 +772,12 @@ ParseSystemInfo(const Options& options, + # else + # error "Unexpected __riscv_xlen" + # endif ++#elif defined(__powerpc64__) ++ if (sysinfo->processor_architecture != MD_CPU_ARCHITECTURE_PPC64) { ++ fprintf(stderr, ++ "This version of minidump-2-core only supports PPC64.\n"); ++ exit(1); ++ } + #else + #error "This code has not been ported to your platform yet" + #endif diff --git a/0001-Remove-unused-OpenSSL-config.patch b/0001-Remove-unused-OpenSSL-config.patch new file mode 100644 index 0000000..5ad7382 --- /dev/null +++ b/0001-Remove-unused-OpenSSL-config.patch @@ -0,0 +1,46 @@ +From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Fri, 17 Apr 2020 12:59:44 +0200 +Subject: [PATCH] Remove unused OpenSSL config + +The build process will try to create these config files, even when +using the system OpenSSL and will thus fail since we strip this path +from the tarball. + +Signed-off-by: Stephen Gallagher +Signed-off-by: rpm-build +--- + node.gyp | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/node.gyp b/node.gyp +index 1147495..da6ea50 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -822,23 +822,6 @@ + ], + }, + ], +- }, { +- 'variables': { +- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf', +- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf', +- }, +- 'actions': [ +- { +- 'action_name': 'reset_openssl_cnf', +- 'inputs': [ '<(opensslconfig)', ], +- 'outputs': [ '<(opensslconfig_internal)', ], +- 'action': [ +- '<(python)', 'tools/copyfile.py', +- '<(opensslconfig)', +- '<(opensslconfig_internal)', +- ], +- }, +- ], + }], + ], + }, # node_core_target_name +-- +2.47.0 + diff --git a/0001-add-xnn-ppc64el-support.patch b/0001-add-xnn-ppc64el-support.patch new file mode 100644 index 0000000..f8415ac --- /dev/null +++ b/0001-add-xnn-ppc64el-support.patch @@ -0,0 +1,35 @@ +Index: chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/xnnpack/generate_build_gn.py ++++ chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py +@@ -239,7 +239,10 @@ _PLATFORMS = [ + bazel_platform='//:linux_aarch64'), + _Platform(gn_cpu='riscv64', + bazel_cpu='riscv64', +- bazel_platform='//:linux_riscv64') ++ bazel_platform='//:linux_riscv64'), ++ _Platform(gn_cpu='ppc64', ++ bazel_cpu='ppc64le', ++ bazel_platform='//:linux_ppc64le') + ] + + +Index: chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/xnnpack/bazelroot/BUILD ++++ chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD +@@ -29,6 +29,14 @@ platform( + ], + ) + ++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/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch b/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch new file mode 100644 index 0000000..29ab492 --- /dev/null +++ b/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch @@ -0,0 +1,1171 @@ +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/trap.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf/trap.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/trap.cc +@@ -231,6 +231,20 @@ void Trap::SigSys(int nr, LinuxSigInfo* + SetIsInSigHandler(); + } + ++#if defined(__powerpc64__) ++ // On ppc64+glibc, some syscalls seem to accidentally negate the first ++ // parameter which causes checks against it to fail. For now, manually ++ // negate them back. ++ // TODO(sanastasio@raptorengineering.com): investigate this issue further ++ auto nr = SECCOMP_SYSCALL(ctx); ++ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat || ++ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) { ++ if (static_cast(SECCOMP_PARM1(ctx)) > 0) { ++ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx); ++ } ++ } ++#endif ++ + // Copy the seccomp-specific data into a arch_seccomp_data structure. This + // is what we are showing to TrapFnc callbacks that the system call + // evaluator registered with the sandbox. +Index: chromium-144.0.7559.59/sandbox/features.gni +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/features.gni ++++ chromium-144.0.7559.59/sandbox/features.gni +@@ -9,4 +9,5 @@ + use_seccomp_bpf = (is_linux || is_chromeos || is_android) && + (current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || +- current_cpu == "mipsel" || current_cpu == "mips64el") ++ current_cpu == "mipsel" || current_cpu == "mips64el" || ++ current_cpu == "ppc64") +Index: chromium-144.0.7559.59/sandbox/policy/linux/bpf_renderer_policy_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc ++++ chromium-144.0.7559.59/sandbox/policy/linux/bpf_renderer_policy_linux.cc +@@ -17,6 +17,11 @@ + #include "sandbox/linux/system_headers/linux_syscalls.h" + #include "sandbox/policy/linux/sandbox_linux.h" + ++// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h ++#ifdef __powerpc64__ ++#include ++#endif ++ + // TODO(vignatti): replace the local definitions below with #include + // once kernel version 4.6 becomes widely used. + #include +@@ -86,7 +91,7 @@ ResultExpr RendererProcessPolicy::Evalua + case __NR_ftruncate64: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_getrlimit: + case __NR_setrlimit: + // We allow setrlimit to dynamically adjust the address space limit as +Index: chromium-144.0.7559.59/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h ++++ chromium-144.0.7559.59/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +@@ -56,6 +56,13 @@ + #define MAX_PUBLIC_SYSCALL __NR_syscalls + #define MAX_SYSCALL MAX_PUBLIC_SYSCALL + ++#elif defined(__powerpc64__) ++ ++#include ++#define MIN_SYSCALL 0u ++#define MAX_PUBLIC_SYSCALL __NR_syscalls ++#define MAX_SYSCALL MAX_PUBLIC_SYSCALL ++ + #else + #error "Unsupported architecture" + #endif +Index: chromium-144.0.7559.59/sandbox/linux/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/BUILD.gn ++++ chromium-144.0.7559.59/sandbox/linux/BUILD.gn +@@ -376,6 +376,8 @@ component("sandbox_services") { + + source_set("sandbox_services_headers") { + sources = [ ++ "system_headers/ppc64_linux_syscalls.h", ++ "system_headers/ppc64_linux_ucontext.h", + "system_headers/arm64_linux_syscalls.h", + "system_headers/arm_linux_syscalls.h", + "system_headers/arm_linux_ucontext.h", +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_syscalls.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_syscalls.h ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_syscalls.h +@@ -44,4 +44,8 @@ + #include "sandbox/linux/system_headers/arm64_linux_syscalls.h" + #endif + ++#if defined(__powerpc64__) ++#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h" ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_syscalls.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_syscalls.h +@@ -0,0 +1,25 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ ++#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ ++ ++#include ++ ++//TODO: is it necessary to redefine syscall numbers for PPC64? ++// Needed for Ubuntu/Debian/Centos/RHEL: ++#if !defined(__NR_shmget) ++#define __NR_shmget 395 ++#endif ++#if !defined(__NR_shmdt) ++#define __NR_shmdt 398 ++#endif ++#if !defined(__NR_shmctl) ++#define __NR_shmctl 396 ++#endif ++#if !defined(__NR_shmat) ++#define __NR_shmat 397 ++#endif ++ ++#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_ucontext.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_ucontext.h +@@ -0,0 +1,12 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ ++#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ ++ ++#include ++ ++//TODO: is it necessary to redefine ucontext on PPC64? ++ ++#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ +Index: chromium-144.0.7559.59/sandbox/linux/syscall_broker/broker_process.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/syscall_broker/broker_process.cc ++++ chromium-144.0.7559.59/sandbox/linux/syscall_broker/broker_process.cc +@@ -166,7 +166,7 @@ bool BrokerProcess::IsSyscallBrokerable( + #if defined(__NR_fstatat64) + case __NR_fstatat64: + #endif +-#if defined(__x86_64__) || defined(__aarch64__) ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) + case __NR_newfstatat: + #endif + return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT); +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +@@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno) + SyscallSets::IsPrctl(sysno) || + SyscallSets::IsProcessGroupOrSession(sysno) || + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + SyscallSets::IsSocketCall(sysno) || + #endif + #if defined(__arm__) +@@ -259,7 +260,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de + + // TODO(crbug.com/40528912): should i386 really be in this list? + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + if (sysno == __NR_mmap) + return RestrictMmapFlags(); + #endif +@@ -342,7 +343,8 @@ ResultExpr EvaluateSyscallImpl(int fs_de + } + + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + if (SyscallSets::IsSocketCall(sysno)) + return RestrictSocketcallCommand(); + #endif +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +@@ -43,7 +43,7 @@ + #define MAP_DROPPABLE 0x08 // Zero memory under memory pressure. + #endif + +-#if BUILDFLAG(IS_LINUX) && !defined(__arm__) && !defined(__aarch64__) && \ ++#if BUILDFLAG(IS_LINUX) && !defined(__arm__) && !defined(__aarch64__) && !defined(__powerpc64__) && \ + !defined(PTRACE_GET_THREAD_AREA) + // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance + // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA. +@@ -52,6 +52,11 @@ + #include + #endif + ++// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h ++#ifdef __powerpc64__ ++#include ++#endif ++ + #if BUILDFLAG(IS_ANDROID) + #include "base/android/background_thread_pool_field_trial.h" + +@@ -110,6 +115,15 @@ inline bool IsArchitectureMips() { + #endif + } + ++inline bool IsArchitecturePPC64() { ++#if defined(__powerpc64__) ++ return true; ++#else ++ return false; ++#endif ++} ++ ++ + // Ubuntu's version of glibc has a race condition in sem_post that can cause + // it to call futex(2) with bogus op arguments. To workaround this, we need + // to allow those futex(2) calls to fail with EINVAL, instead of crashing the +@@ -288,9 +302,11 @@ ResultExpr RestrictFcntlCommands() { + // operator. + // Glibc overrides the kernel's O_LARGEFILE value. Account for this. + uint64_t kOLargeFileFlag = O_LARGEFILE; +- if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips()) ++ if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips() \ ++ || IsArchitecturePPC64()) + kOLargeFileFlag = 0100000; + ++ + const Arg cmd(1); + const Arg long_arg(2); + +@@ -313,8 +329,17 @@ ResultExpr RestrictFcntlCommands() { + F_SETLKW, + F_GETLK, + F_DUPFD, +- F_DUPFD_CLOEXEC}, +- Allow()) ++ F_DUPFD_CLOEXEC ++#if defined(__powerpc64__) ++// On PPC64, F_SETLK, F_GETLK, F_SETLKW are defined as the 64-bit variants ++// but glibc will sometimes still use the 32-bit versions. Allow both. ++ , ++ 5, /* F_GETLK (32) */ ++ 6, /* F_SETLK (32) */ ++ 7 /* F_SETLKW (32) */ ++#endif ++ }, ++ Allow()) + .Case(F_SETFL, + If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS())) + .Case(F_ADD_SEALS, +@@ -323,7 +348,7 @@ ResultExpr RestrictFcntlCommands() { + // clang-format on + } + +-#if defined(__i386__) || defined(__mips__) ++#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__) + ResultExpr RestrictSocketcallCommand() { + // Unfortunately, we are unable to restrict the first parameter to + // socketpair(2). Whilst initially sounding bad, it's noteworthy that very +@@ -489,7 +514,7 @@ ResultExpr RestrictPtrace() { + #endif + return Switch(request) + .Cases({ +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__powerpc64__) + PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA, + PTRACE_GETREGSET, + #endif +@@ -529,13 +554,14 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr + size_t argIndex; + switch (sysno) { + #if defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_send: + argIndex = 3; + break; + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__mips__) || defined(__aarch64__) ++ defined(__mips__) || defined(__aarch64__) || defined(__powerpc64__) + case __NR_sendto: // Could specify destination. + argIndex = 3; + break; +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h +@@ -56,7 +56,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr + // O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME. + SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands(); + +-#if defined(__i386__) || defined(__mips__) ++#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__) + // Restrict socketcall(2) to only allow socketpair(2), send(2), recv(2), + // sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2). + SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand(); +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s + switch (sysno) { + case __NR_gettimeofday: + #if defined(__i386__) || defined(__x86_64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_time: + #endif + return true; +@@ -52,12 +53,14 @@ bool SyscallSets::IsAllowedGettime(int s + case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID(). + #endif + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_ftime: // Obsolete. + #endif + case __NR_settimeofday: // Privileged. + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_stime: + #endif + default: +@@ -136,7 +139,7 @@ bool SyscallSets::IsFileSystem(int sysno + case __NR_faccessat2: + case __NR_fchmodat: + case __NR_fchownat: // Should be called chownat ? +-#if defined(__x86_64__) || defined(__aarch64__) ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) + case __NR_newfstatat: // fstatat(). EPERM not a valid errno. + #elif defined(__i386__) || defined(__arm__) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) +@@ -155,7 +158,7 @@ bool SyscallSets::IsFileSystem(int sysno + case __NR_memfd_create: + case __NR_mkdirat: + case __NR_mknodat: +-#if defined(__i386__) ++#if defined(__i386__) || defined(__powerpc64__) + case __NR_oldlstat: + case __NR_oldstat: + #endif +@@ -169,7 +172,8 @@ bool SyscallSets::IsFileSystem(int sysno + #endif + case __NR_statfs: // EPERM not a valid errno. + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_statfs64: + #endif + case __NR_statx: // EPERM not a valid errno. +@@ -180,7 +184,8 @@ bool SyscallSets::IsFileSystem(int sysno + case __NR_truncate64: + #endif + case __NR_unlinkat: +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_utime: + #endif + case __NR_utimensat: // New. +@@ -220,7 +225,8 @@ bool SyscallSets::IsAllowedFileSystemAcc + #endif + return true; + // TODO(jln): these should be denied gracefully as well (moved below). +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_fadvise64: // EPERM not a valid errno. + #endif + #if defined(__i386__) +@@ -233,11 +239,12 @@ bool SyscallSets::IsAllowedFileSystemAcc + case __NR_flock: // EPERM not a valid errno. + case __NR_fstatfs: // Give information about the whole filesystem. + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_fstatfs64: + #endif + case __NR_fsync: // EPERM not a valid errno. +-#if defined(__i386__) ++#if defined(__i386__) || defined(__powerpc64__) + case __NR_oldfstat: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +@@ -245,6 +252,8 @@ bool SyscallSets::IsAllowedFileSystemAcc + case __NR_sync_file_range: // EPERM not a valid errno. + #elif defined(__arm__) + case __NR_arm_sync_file_range: // EPERM not a valid errno. ++#elif defined(__powerpc64__) ++ case __NR_sync_file_range2: // EPERM not a valid errno. + #endif + default: + return false; +@@ -265,7 +274,8 @@ bool SyscallSets::IsDeniedFileSystemAcce + #endif + case __NR_getdents64: // EPERM not a valid errno. + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_readdir: + #endif + return true; +@@ -306,7 +316,7 @@ bool SyscallSets::IsGetSimpleId(int sysn + bool SyscallSets::IsProcessPrivilegeChange(int sysno) { + switch (sysno) { + case __NR_capset: +-#if defined(__i386__) || defined(__x86_64__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__) + case __NR_ioperm: // Intel privilege. + case __NR_iopl: // Intel privilege. + #endif +@@ -362,8 +372,11 @@ bool SyscallSets::IsAllowedSignalHandlin + // overflow. + case __NR_sigaltstack: + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) ++#if !defined(__powerpc64__) + case __NR_rt_sigtimedwait_time64: ++#endif + case __NR_sigaction: + case __NR_sigprocmask: + case __NR_sigreturn: +@@ -378,7 +391,8 @@ bool SyscallSets::IsAllowedSignalHandlin + #endif + case __NR_signalfd4: + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_sigpending: + case __NR_sigsuspend: + #endif +@@ -402,7 +416,7 @@ bool SyscallSets::IsAllowedOperationOnFd + #endif + case __NR_dup3: + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_shutdown: + #endif + return true; +@@ -435,7 +449,7 @@ bool SyscallSets::IsAllowedProcessStartO + case __NR_exit_group: + case __NR_wait4: + case __NR_waitid: +-#if defined(__i386__) ++#if defined(__i386__) || defined(__powerpc64__) + case __NR_waitpid: + #endif + return true; +@@ -499,7 +513,7 @@ bool SyscallSets::IsAllowedEpoll(int sys + bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) { + switch (sysno) { + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_accept: + case __NR_accept4: + case __NR_bind: +@@ -514,7 +528,8 @@ bool SyscallSets::IsDeniedGetOrModifySoc + } + + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + // Big multiplexing system call for sockets. + bool SyscallSets::IsSocketCall(int sysno) { + switch (sysno) { +@@ -528,7 +543,8 @@ bool SyscallSets::IsSocketCall(int sysno + } + #endif + +-#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) ++#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ ++ defined(__powerpc64__) + bool SyscallSets::IsNetworkSocketInformation(int sysno) { + switch (sysno) { + case __NR_getpeername: +@@ -554,7 +570,7 @@ bool SyscallSets::IsAllowedAddressSpaceA + case __NR_mincore: + case __NR_mlockall: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_mmap: + #endif + #if defined(__i386__) || defined(__arm__) || \ +@@ -584,7 +600,8 @@ bool SyscallSets::IsAllowedGeneralIo(int + switch (sysno) { + case __NR_lseek: + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR__llseek: + #endif + #if !defined(__aarch64__) +@@ -604,18 +621,19 @@ bool SyscallSets::IsAllowedGeneralIo(int + case __NR_readv: + case __NR_pread64: + #if defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_recv: + #endif + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_recvfrom: // Could specify source. + case __NR_recvmsg: // Could specify source. + #endif +-#if defined(__i386__) || defined(__x86_64__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__) + case __NR_select: + #endif +-#if defined(__i386__) || defined(__arm__) || defined(__mips__) ++#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__powerpc64__) + case __NR__newselect: + #endif + case __NR_write: +@@ -635,11 +653,12 @@ bool SyscallSets::IsAllowedGeneralIo(int + #endif + // send* syscalls need their flags filtered. + #if defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_send: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__mips__) || defined(__aarch64__) ++ defined(__mips__) || defined(__aarch64__) || defined(__powerpc64__) + case __NR_sendmsg: // Could specify destination. + case __NR_sendto: // Could specify destination. + #endif +@@ -652,11 +671,12 @@ bool SyscallSets::IsAllowedGeneralIo(int + bool SyscallSets::IsSockSendOneMsg(int sysno) { + switch (sysno) { + #if defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_send: + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__mips__) || defined(__aarch64__) ++ defined(__mips__) || defined(__aarch64__) || defined(__powerpc64__) + case __NR_sendmsg: // Could specify destination. + case __NR_sendto: // Could specify destination. + #endif +@@ -697,7 +717,8 @@ bool SyscallSets::IsAllowedBasicSchedule + return true; + case __NR_getpriority: + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_nice: + #endif + case __NR_setpriority: +@@ -709,7 +730,8 @@ bool SyscallSets::IsAllowedBasicSchedule + bool SyscallSets::IsAdminOperation(int sysno) { + switch (sysno) { + #if defined(__i386__) || defined(__arm__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_bdflush: + #endif + case __NR_kexec_load: +@@ -725,7 +747,8 @@ bool SyscallSets::IsAdminOperation(int s + + bool SyscallSets::IsKernelModule(int sysno) { + switch (sysno) { +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_create_module: + case __NR_get_kernel_syms: // Should ENOSYS. + case __NR_query_module: +@@ -758,7 +781,8 @@ bool SyscallSets::IsFsControl(int sysno) + case __NR_swapoff: + case __NR_swapon: + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_umount: + #endif + case __NR_umount2: +@@ -774,7 +798,7 @@ bool SyscallSets::IsNuma(int sysno) { + case __NR_getcpu: + case __NR_mbind: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_migrate_pages: + #endif + case __NR_move_pages: +@@ -809,14 +833,15 @@ bool SyscallSets::IsGlobalProcessEnviron + switch (sysno) { + case __NR_acct: // Privileged. + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_getrlimit: + #endif +-#if defined(__i386__) || defined(__arm__) ++#if defined(__i386__) || defined(__arm__) || defined(__powerpc64__) + case __NR_ugetrlimit: + #endif + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_ulimit: + #endif + case __NR_getrusage: +@@ -850,7 +875,7 @@ bool SyscallSets::IsGlobalSystemStatus(i + #endif + case __NR_sysinfo: + case __NR_uname: +-#if defined(__i386__) ++#if defined(__i386__) || defined(__powerpc64__) + case __NR_olduname: + case __NR_oldolduname: + #endif +@@ -914,12 +939,15 @@ bool SyscallSets::IsKeyManagement(int sy + } + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + bool SyscallSets::IsSystemVSemaphores(int sysno) { + switch (sysno) { + case __NR_semctl: + case __NR_semget: ++#if !defined(__powerpc64__) + case __NR_semop: ++#endif + case __NR_semtimedop: + #if defined(__i386__) || defined(__arm__) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) +@@ -934,7 +962,8 @@ bool SyscallSets::IsSystemVSemaphores(in + + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ + defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + // These give a lot of ambient authority and bypass the setuid sandbox. + bool SyscallSets::IsSystemVSharedMemory(int sysno) { + switch (sysno) { +@@ -950,7 +979,8 @@ bool SyscallSets::IsSystemVSharedMemory( + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + bool SyscallSets::IsSystemVMessageQueue(int sysno) { + switch (sysno) { + case __NR_msgctl: +@@ -965,7 +995,8 @@ bool SyscallSets::IsSystemVMessageQueue( + #endif + + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + // Big system V multiplexing system call. + bool SyscallSets::IsSystemVIpc(int sysno) { + switch (sysno) { +@@ -987,6 +1018,9 @@ bool SyscallSets::IsAnySystemV(int sysno + #elif defined(__i386__) || \ + (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) + return IsSystemVIpc(sysno); ++#elif defined(__powerpc64__) ++ return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) || ++ IsSystemVSharedMemory(sysno) || IsSystemVIpc(sysno); + #endif + } + +@@ -1042,7 +1076,8 @@ bool SyscallSets::IsFaNotify(int sysno) + bool SyscallSets::IsTimer(int sysno) { + switch (sysno) { + case __NR_getitimer: +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_alarm: + #endif + case __NR_setitimer: +@@ -1121,18 +1156,22 @@ bool SyscallSets::IsMisc(int sysno) { + case __NR_syncfs: + case __NR_vhangup: + // The system calls below are not implemented. +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_afs_syscall: + #endif + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_break: + #endif +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_getpmsg: + #endif + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_gtty: + case __NR_idle: + case __NR_lock: +@@ -1140,20 +1179,22 @@ bool SyscallSets::IsMisc(int sysno) { + case __NR_prof: + case __NR_profil: + #endif +-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) ++#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ ++ defined(__powerpc64__) + case __NR_putpmsg: + #endif + #if defined(__x86_64__) + case __NR_security: + #endif + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + case __NR_stty: + #endif +-#if defined(__x86_64__) ++#if defined(__x86_64__) || defined(__powerpc64__) + case __NR_tuxcall: + #endif +-#if !defined(__aarch64__) ++#if !defined(__aarch64__) && !defined(__powerpc64__) + case __NR_vserver: + #endif + return true; +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +@@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets { + static bool IsDeniedGetOrModifySocket(int sysno); + + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + // Big multiplexing system call for sockets. + static bool IsSocketCall(int sysno); + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + static bool IsNetworkSocketInformation(int sysno); + #endif + +@@ -80,23 +81,27 @@ class SANDBOX_EXPORT SyscallSets { + static bool IsAsyncIo(int sysno); + static bool IsKeyManagement(int sysno); + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + static bool IsSystemVSemaphores(int sysno); + #endif + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ + defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + // These give a lot of ambient authority and bypass the setuid sandbox. + static bool IsSystemVSharedMemory(int sysno); + #endif + + #if defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(__powerpc64__) + static bool IsSystemVMessageQueue(int sysno); + #endif + + #if defined(__i386__) || \ +- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) ++ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ ++ defined(__powerpc64__) + // Big system V multiplexing system call. + static bool IsSystemVIpc(int sysno); + #endif +Index: chromium-144.0.7559.59/sandbox/linux/services/syscall_wrappers.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/services/syscall_wrappers.cc ++++ chromium-144.0.7559.59/sandbox/linux/services/syscall_wrappers.cc +@@ -63,7 +63,7 @@ long sys_clone(unsigned long flags, + #if defined(ARCH_CPU_X86_64) + return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls); + #elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY) + // CONFIG_CLONE_BACKWARDS defined. + return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid); + #endif +Index: chromium-144.0.7559.59/sandbox/linux/bpf_dsl/seccomp_macros.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/bpf_dsl/seccomp_macros.h ++++ chromium-144.0.7559.59/sandbox/linux/bpf_dsl/seccomp_macros.h +@@ -14,6 +14,9 @@ + #if defined(__mips__) + // sys/user.h in eglibc misses size_t definition + #include ++#elif defined(__powerpc64__) ++// Manually define greg_t on ppc64 ++typedef unsigned long long greg_t; + #endif + #endif + +@@ -343,6 +346,51 @@ struct regs_struct { + #define SECCOMP_PT_PARM4(_regs) (_regs).regs[3] + #define SECCOMP_PT_PARM5(_regs) (_regs).regs[4] + #define SECCOMP_PT_PARM6(_regs) (_regs).regs[5] ++ ++#elif defined(__powerpc64__) ++#include ++ ++typedef struct pt_regs regs_struct; ++ ++#ifdef ARCH_CPU_LITTLE_ENDIAN ++#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE ++#else ++#define SECCOMP_ARCH AUDIT_ARCH_PPC64 ++#endif ++ ++#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg]) ++ ++#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3) ++#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0) ++#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip ++#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3) ++#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4) ++#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5) ++#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6) ++#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7) ++#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8) ++ ++#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr)) ++#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch)) ++#define SECCOMP_IP_MSB_IDX \ ++ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4) ++#define SECCOMP_IP_LSB_IDX \ ++ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0) ++#define SECCOMP_ARG_MSB_IDX(nr) \ ++ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4) ++#define SECCOMP_ARG_LSB_IDX(nr) \ ++ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0) ++ ++#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3] ++#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0] ++#define SECCOMP_PT_IP(_regs) (_regs).nip ++#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3] ++#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4] ++#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5] ++#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6] ++#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7] ++#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8] ++ + #else + #error Unsupported target platform + +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_seccomp.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_seccomp.h ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_seccomp.h +@@ -38,6 +38,9 @@ + #ifndef EM_AARCH64 + #define EM_AARCH64 183 + #endif ++#ifndef EM_PPC64 ++#define EM_PPC64 21 ++#endif + + #ifndef __AUDIT_ARCH_64BIT + #define __AUDIT_ARCH_64BIT 0x80000000 +@@ -70,6 +73,12 @@ + #ifndef AUDIT_ARCH_AARCH64 + #define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE) + #endif ++#ifndef AUDIT_ARCH_PPC64 ++#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT) ++#endif ++#ifndef AUDIT_ARCH_PPC64LE ++#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE) ++#endif + + // For prctl.h + #ifndef PR_SET_SECCOMP +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_signal.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_signal.h ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_signal.h +@@ -13,7 +13,7 @@ + // (not undefined, but defined different values and in different memory + // layouts). So, fill the gap here. + #if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + + #define LINUX_SIGHUP 1 + #define LINUX_SIGINT 2 +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/syscall.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf/syscall.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/syscall.cc +@@ -19,7 +19,7 @@ namespace sandbox { + namespace { + + #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined (ARCH_CPU_PPC64_FAMILY) + // Number that's not currently used by any Linux kernel ABIs. + const int kInvalidSyscallNumber = 0x351d3; + #else +@@ -309,10 +309,54 @@ asm(// We need to be able to tell the ke + "2:ret\n" + ".cfi_endproc\n" + ".size SyscallAsm, .-SyscallAsm\n" ++#elif defined(__powerpc64__) ++ ".text\n" ++ ".align 4\n" ++ ".type SyscallAsm @function\n" ++ "SyscallAsm:\n" ++ ".cfi_startproc\n" ++ ++ // Check if r3 is negative ++ "cmpdi 3, 0\n" ++ "bgt 2f\n" ++ ++ // Load address of 3f into r3 and return ++ "mflr 10\n" ++ "bl 1f\n" ++ "1: mflr 3\n" ++ "mtlr 10\n" ++ "addi 3, 3, 4*13\n" ++ "blr\n" ++ ++ // Load arguments from array into r3-8 ++ // save param 3 in r10 ++ "2:\n" ++ "mr 0, 3\n" ++ "ld 3, 0(4)\n" ++ "ld 5, 16(4)\n" ++ "ld 6, 24(4)\n" ++ "ld 7, 32(4)\n" ++ "ld 8, 40(4)\n" ++ "ld 4, 8(4)\n" ++ "li 9, 0\n" ++ ++ // Enter kernel ++ "sc\n" ++ ++ // Magic return address ++ "3:\n" ++ // Like MIPS, ppc64 return values are always positive. ++ // Check for error in cr0.SO and negate upon error ++ "bc 4, 3, 4f\n" ++ "neg 3, 3\n" ++ "4: blr\n" ++ ++ ".cfi_endproc\n" ++ ".size SyscallAsm, .-SyscallAsm\n" + #endif + ); // asm + +-#if defined(__x86_64__) ++#if defined(__x86_64__) || defined(__powerpc64__) + extern "C" { + intptr_t SyscallAsm(intptr_t nr, const intptr_t args[6]); + } +@@ -426,6 +470,8 @@ intptr_t Syscall::Call(int nr, + ret = inout; + } + ++#elif defined(__powerpc64__) ++ intptr_t ret = SyscallAsm(nr, args); + #else + #error "Unimplemented architecture" + #endif +@@ -442,8 +488,18 @@ void Syscall::PutValueInUcontext(intptr_ + // needs to be changed back. + ret_val = -ret_val; + SECCOMP_PARM4(ctx) = 1; +- } else ++ } else { + SECCOMP_PARM4(ctx) = 0; ++ } ++#endif ++#if defined(__powerpc64__) ++ // Same as MIPS, need to invert ret and set error register (cr0.SO) ++ if (ret_val <= -1 && ret_val >= -4095) { ++ ret_val = -ret_val; ++ ctx->uc_mcontext.regs->ccr |= (1 << 28); ++ } else { ++ ctx->uc_mcontext.regs->ccr &= ~(1 << 28); ++ } + #endif + SECCOMP_RESULT(ctx) = static_cast(ret_val); + } +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc +@@ -354,8 +354,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create) + + #if !defined(__aarch64__) + TEST_BASELINE_SIGSYS(__NR_inotify_init) ++#if !defined(__powerpc64__) + TEST_BASELINE_SIGSYS(__NR_vserver) + #endif ++#endif + + #if defined(LIBC_GLIBC) && !BUILDFLAG(IS_CHROMEOS) + BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) { +Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_stat.h +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_stat.h ++++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_stat.h +@@ -173,6 +173,28 @@ struct kernel_stat { + unsigned int __unused4; + unsigned int __unused5; + }; ++#elif defined(__powerpc64__) ++struct kernel_stat { ++ unsigned long st_dev; ++ ino_t st_ino; ++ unsigned long st_nlink; ++ mode_t st_mode; ++ uid_t st_uid; ++ gid_t st_gid; ++ unsigned long st_rdev; ++ long st_size; ++ unsigned long st_blksize; ++ unsigned long st_blocks; ++ unsigned long st_atime_; ++ unsigned long st_atime_nsec_; ++ unsigned long st_mtime_; ++ unsigned long st_mtime_nsec_; ++ unsigned long st_ctime_; ++ unsigned long st_ctime_nsec_; ++ unsigned long __unused4; ++ unsigned long __unused5; ++ unsigned long __unused6; ++}; + #endif + + #if !defined(AT_EMPTY_PATH) +Index: chromium-144.0.7559.59/sandbox/linux/services/credentials.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/services/credentials.cc ++++ chromium-144.0.7559.59/sandbox/linux/services/credentials.cc +@@ -85,7 +85,7 @@ bool ChrootToSafeEmptyDir() { + alignas(16) std::array stack_buf; + + #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \ +- defined(ARCH_CPU_MIPS_FAMILY) ++ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY) + // SAFETY: This is the `stack` argument of `clone(2)`. Because the stack grows + // downward on these architectures, this is the topmost address of the memory + // space for the stack, and the address will not be dereferenced. +@@ -96,7 +96,8 @@ bool ChrootToSafeEmptyDir() { + + int clone_flags = CLONE_FS | LINUX_SIGCHLD; + void* tls = nullptr; +-#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \ ++#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY) || \ ++ defined(ARCH_CPU_PPC64_FAMILY)) && \ + !defined(MEMORY_SANITIZER) + // Use CLONE_VM | CLONE_VFORK as an optimization to avoid copying page tables. + // Since clone writes to the new child's TLS before returning, we must set a +@@ -104,6 +105,11 @@ bool ChrootToSafeEmptyDir() { + // glibc performs syscalls by calling a function pointer in TLS, so we do not + // attempt this optimization. + // TODO(crbug.com/40196869) Broken in MSan builds after LLVM f1bb30a4956f. ++ // ++ // NOTE: Without CLONE_VM, fontconfig will attempt to reload configuration ++ // in every thread. Since the rendered threads are sandboxed without ++ // filesystem access (e.g. to /etc/fonts/fonts.conf) this will cause font ++ // configuration loading failures and no fonts will be displayed! + clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; + + char tls_buf[PTHREAD_STACK_MIN_CONST] = {}; +Index: chromium-144.0.7559.59/sandbox/policy/linux/bpf_utility_policy_linux.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc ++++ chromium-144.0.7559.59/sandbox/policy/linux/bpf_utility_policy_linux.cc +@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat + case __NR_fdatasync: + case __NR_fsync: + #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ +- defined(__aarch64__) ++ defined(__aarch64__) || defined(__powerpc64__) + case __NR_getrlimit: + #endif + #if defined(__i386__) || defined(__arm__) +Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc +=================================================================== +--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc ++++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc +@@ -384,7 +384,16 @@ intptr_t SIGSYSFstatatHandler(const stru + if (args.nr == __NR_fstatat_default) { + if (*reinterpret_cast(args.args[1]) == '\0' && + args.args[3] == static_cast(AT_EMPTY_PATH)) { +- return syscall(__NR_fstat_default, static_cast(args.args[0]), ++ int fd = static_cast(args.args[0]); ++#if defined(__powerpc64__) ++ // On ppc64+glibc, some syscalls seem to accidentally negate the first ++ // parameter which causes checks against it to fail. For now, manually ++ // negate them back. ++ // TODO: Investigate the root cause and fix in glibc ++ if (fd < 0) ++ fd = -fd; ++#endif ++ return syscall(__NR_fstat_default, fd, + reinterpret_cast(args.args[2])); + } + return -reinterpret_cast(fs_denied_errno); diff --git a/0001-swiftshader-fix-build.patch b/0001-swiftshader-fix-build.patch new file mode 100644 index 0000000..efd12dc --- /dev/null +++ b/0001-swiftshader-fix-build.patch @@ -0,0 +1,20 @@ +Description: fix swiftshader build issue on ppc64el +Origin: vendor, https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/blob/chromium-131/patches/ppc64le/third_party/0001-swiftshader-fix-build.patch +Bug: https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=131.0.6778.204-1&stamp=1734633529&raw=0 +Last-Update: 2024-12-20 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn ++++ chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn +@@ -1599,6 +1599,9 @@ swiftshader_llvm_source_set("swiftshader + "llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp", + "llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp", + "llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp", ++ "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp", ++ "llvm/lib/MC/MCAsmInfoXCOFF.cpp", ++ "llvm/lib/MC/MCInstrInfo.cpp", + ] + } + diff --git a/0001-third_party-angle-Include-missing-header-cstddef-in-.patch b/0001-third_party-angle-Include-missing-header-cstddef-in-.patch new file mode 100644 index 0000000..72b1e2a --- /dev/null +++ b/0001-third_party-angle-Include-missing-header-cstddef-in-.patch @@ -0,0 +1,12 @@ +Index: chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/angle/src/libANGLE/Constants.h ++++ chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h +@@ -9,6 +9,7 @@ + #ifndef LIBANGLE_CONSTANTS_H_ + #define LIBANGLE_CONSTANTS_H_ + ++#include + #include "common/platform.h" + + #include diff --git a/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch b/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch new file mode 100644 index 0000000..358582b --- /dev/null +++ b/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch @@ -0,0 +1,23 @@ +From cc613c2e3bac8d4d1ff153700b819f964435923a Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Tue, 4 Sep 2018 18:16:07 -0500 +Subject: [PATCH] third_party/libvpx: Properly generate gni on ppc64 + +--- + third_party/libvpx/BUILD.gn | 2 ++ + third_party/libvpx/generate_gni.sh | 10 ++++++++++ + 2 files changed, 12 insertions(+) + +Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn ++++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn +@@ -297,6 +297,8 @@ if (current_cpu == "x86" || (current_cpu + } else if (current_cpu == "x64") { + deps = [ ":libvpx_x86_64_headers" ] + sources = libvpx_srcs_x86_64_avx512 ++ } else if (current_cpu == "ppc64") { ++ sources = libvpx_srcs_ppc64 + } + } + } diff --git a/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch b/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch new file mode 100644 index 0000000..06a8f9e --- /dev/null +++ b/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch @@ -0,0 +1,22 @@ +From 63e63a70766f3059ce5f1d06a95988ecf909b298 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Wed, 24 Apr 2019 21:17:23 -0500 +Subject: [PATCH] third_party/pffft: Include altivec.h on ppc64 with SIMD + enabled + +--- + third_party/pffft/src/pffft.c | 1 + + 1 file changed, 1 insertion(+) + +Index: chromium-144.0.7559.59/third_party/pffft/src/pffft.c +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/pffft/src/pffft.c ++++ chromium-144.0.7559.59/third_party/pffft/src/pffft.c +@@ -100,6 +100,7 @@ + Altivec support macros + */ + #if !defined(PFFFT_SIMD_DISABLE) && (defined(__ppc__) || defined(__ppc64__)) ++#include + typedef vector float v4sf; + # define SIMD_SZ 4 + # define VZERO() ((vector float) vec_splat_u8(0)) diff --git a/0002-Add-PPC64-generated-files-for-boringssl.patch b/0002-Add-PPC64-generated-files-for-boringssl.patch new file mode 100644 index 0000000..79e72c5 --- /dev/null +++ b/0002-Add-PPC64-generated-files-for-boringssl.patch @@ -0,0 +1,5763 @@ +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S +@@ -0,0 +1,3673 @@ ++// This file is generated from a similarly-named Perl script in the BoringSSL ++// source tree. Do not edit by hand. ++ ++#if defined(__has_feature) ++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) ++#define OPENSSL_NO_ASM ++#endif ++#endif ++ ++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__) ++.machine "any" ++ ++.abiversion 2 ++.text ++ ++.align 7 ++.Lrcon: ++.byte 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01 ++.byte 0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b ++.byte 0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d ++.byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ++.Lconsts: ++ mflr 0 ++ bcl 20,31,$+4 ++ mflr 6 ++ addi 6,6,-0x48 ++ mtlr 0 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,0,0 ++.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 ++.align 2 ++ ++.globl aes_hw_set_encrypt_key ++.type aes_hw_set_encrypt_key,@function ++.align 5 ++aes_hw_set_encrypt_key: ++.localentry aes_hw_set_encrypt_key,0 ++ ++.Lset_encrypt_key: ++ mflr 11 ++ std 11,16(1) ++ ++ li 6,-1 ++ cmpldi 3,0 ++ beq- .Lenc_key_abort ++ cmpldi 5,0 ++ beq- .Lenc_key_abort ++ li 6,-2 ++ cmpwi 4,128 ++ blt- .Lenc_key_abort ++ cmpwi 4,256 ++ bgt- .Lenc_key_abort ++ andi. 0,4,0x3f ++ bne- .Lenc_key_abort ++ ++ lis 0,0xfff0 ++ li 12,-1 ++ or 0,0,0 ++ ++ bl .Lconsts ++ mtlr 11 ++ ++ neg 9,3 ++ lvx 1,0,3 ++ addi 3,3,15 ++ lvsr 3,0,9 ++ li 8,0x20 ++ cmpwi 4,192 ++ lvx 2,0,3 ++ vspltisb 5,0x0f ++ lvx 4,0,6 ++ vxor 3,3,5 ++ lvx 5,8,6 ++ addi 6,6,0x10 ++ vperm 1,1,2,3 ++ li 7,8 ++ vxor 0,0,0 ++ mtctr 7 ++ ++ lvsl 8,0,5 ++ vspltisb 9,-1 ++ lvx 10,0,5 ++ vperm 9,9,0,8 ++ ++ blt .Loop128 ++ addi 3,3,8 ++ beq .L192 ++ addi 3,3,8 ++ b .L256 ++ ++.align 4 ++.Loop128: ++ vperm 3,1,1,5 ++ vsldoi 6,0,1,12 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ .long 0x10632509 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vadduwm 4,4,4 ++ vxor 1,1,3 ++ bdnz .Loop128 ++ ++ lvx 4,0,6 ++ ++ vperm 3,1,1,5 ++ vsldoi 6,0,1,12 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ .long 0x10632509 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vadduwm 4,4,4 ++ vxor 1,1,3 ++ ++ vperm 3,1,1,5 ++ vsldoi 6,0,1,12 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ .long 0x10632509 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vxor 1,1,3 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ stvx 7,0,5 ++ ++ addi 3,5,15 ++ addi 5,5,0x50 ++ ++ li 8,10 ++ b .Ldone ++ ++.align 4 ++.L192: ++ lvx 6,0,3 ++ li 7,4 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ stvx 7,0,5 ++ addi 5,5,16 ++ vperm 2,2,6,3 ++ vspltisb 3,8 ++ mtctr 7 ++ vsububm 5,5,3 ++ ++.Loop192: ++ vperm 3,2,2,5 ++ vsldoi 6,0,1,12 ++ .long 0x10632509 ++ ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ ++ vsldoi 7,0,2,8 ++ vspltw 6,1,3 ++ vxor 6,6,2 ++ vsldoi 2,0,2,12 ++ vadduwm 4,4,4 ++ vxor 2,2,6 ++ vxor 1,1,3 ++ vxor 2,2,3 ++ vsldoi 7,7,1,8 ++ ++ vperm 3,2,2,5 ++ vsldoi 6,0,1,12 ++ vperm 11,7,7,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ .long 0x10632509 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vsldoi 7,1,2,8 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vperm 11,7,7,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vspltw 6,1,3 ++ vxor 6,6,2 ++ vsldoi 2,0,2,12 ++ vadduwm 4,4,4 ++ vxor 2,2,6 ++ vxor 1,1,3 ++ vxor 2,2,3 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ stvx 7,0,5 ++ addi 3,5,15 ++ addi 5,5,16 ++ bdnz .Loop192 ++ ++ li 8,12 ++ addi 5,5,0x20 ++ b .Ldone ++ ++.align 4 ++.L256: ++ lvx 6,0,3 ++ li 7,7 ++ li 8,14 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ stvx 7,0,5 ++ addi 5,5,16 ++ vperm 2,2,6,3 ++ mtctr 7 ++ ++.Loop256: ++ vperm 3,2,2,5 ++ vsldoi 6,0,1,12 ++ vperm 11,2,2,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ .long 0x10632509 ++ stvx 7,0,5 ++ addi 5,5,16 ++ ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vsldoi 6,0,6,12 ++ vxor 1,1,6 ++ vadduwm 4,4,4 ++ vxor 1,1,3 ++ vperm 11,1,1,8 ++ vsel 7,10,11,9 ++ vor 10,11,11 ++ stvx 7,0,5 ++ addi 3,5,15 ++ addi 5,5,16 ++ bdz .Ldone ++ ++ vspltw 3,1,3 ++ vsldoi 6,0,2,12 ++ .long 0x106305C8 ++ ++ vxor 2,2,6 ++ vsldoi 6,0,6,12 ++ vxor 2,2,6 ++ vsldoi 6,0,6,12 ++ vxor 2,2,6 ++ ++ vxor 2,2,3 ++ b .Loop256 ++ ++.align 4 ++.Ldone: ++ lvx 2,0,3 ++ vsel 2,10,2,9 ++ stvx 2,0,3 ++ li 6,0 ++ or 12,12,12 ++ stw 8,0(5) ++ ++.Lenc_key_abort: ++ mr 3,6 ++ blr ++.long 0 ++.byte 0,12,0x14,1,0,0,3,0 ++.long 0 ++.size aes_hw_set_encrypt_key,.-aes_hw_set_encrypt_key ++ ++.globl aes_hw_set_decrypt_key ++.type aes_hw_set_decrypt_key,@function ++.align 5 ++aes_hw_set_decrypt_key: ++.localentry aes_hw_set_decrypt_key,0 ++ ++ stdu 1,-64(1) ++ mflr 10 ++ std 10,80(1) ++ bl .Lset_encrypt_key ++ mtlr 10 ++ ++ cmpwi 3,0 ++ bne- .Ldec_key_abort ++ ++ slwi 7,8,4 ++ subi 3,5,240 ++ srwi 8,8,1 ++ add 5,3,7 ++ mtctr 8 ++ ++.Ldeckey: ++ lwz 0, 0(3) ++ lwz 6, 4(3) ++ lwz 7, 8(3) ++ lwz 8, 12(3) ++ addi 3,3,16 ++ lwz 9, 0(5) ++ lwz 10,4(5) ++ lwz 11,8(5) ++ lwz 12,12(5) ++ stw 0, 0(5) ++ stw 6, 4(5) ++ stw 7, 8(5) ++ stw 8, 12(5) ++ subi 5,5,16 ++ stw 9, -16(3) ++ stw 10,-12(3) ++ stw 11,-8(3) ++ stw 12,-4(3) ++ bdnz .Ldeckey ++ ++ xor 3,3,3 ++.Ldec_key_abort: ++ addi 1,1,64 ++ blr ++.long 0 ++.byte 0,12,4,1,0x80,0,3,0 ++.long 0 ++.size aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key ++.globl aes_hw_encrypt ++.type aes_hw_encrypt,@function ++.align 5 ++aes_hw_encrypt: ++.localentry aes_hw_encrypt,0 ++ ++ lwz 6,240(5) ++ lis 0,0xfc00 ++ li 12,-1 ++ li 7,15 ++ or 0,0,0 ++ ++ lvx 0,0,3 ++ neg 11,4 ++ lvx 1,7,3 ++ lvsl 2,0,3 ++ vspltisb 4,0x0f ++ lvsr 3,0,11 ++ vxor 2,2,4 ++ li 7,16 ++ vperm 0,0,1,2 ++ lvx 1,0,5 ++ lvsr 5,0,5 ++ srwi 6,6,1 ++ lvx 2,7,5 ++ addi 7,7,16 ++ subi 6,6,1 ++ vperm 1,2,1,5 ++ ++ vxor 0,0,1 ++ lvx 1,7,5 ++ addi 7,7,16 ++ mtctr 6 ++ ++.Loop_enc: ++ vperm 2,1,2,5 ++ .long 0x10001508 ++ lvx 2,7,5 ++ addi 7,7,16 ++ vperm 1,2,1,5 ++ .long 0x10000D08 ++ lvx 1,7,5 ++ addi 7,7,16 ++ bdnz .Loop_enc ++ ++ vperm 2,1,2,5 ++ .long 0x10001508 ++ lvx 2,7,5 ++ vperm 1,2,1,5 ++ .long 0x10000D09 ++ ++ vspltisb 2,-1 ++ vxor 1,1,1 ++ li 7,15 ++ vperm 2,2,1,3 ++ vxor 3,3,4 ++ lvx 1,0,4 ++ vperm 0,0,0,3 ++ vsel 1,1,0,2 ++ lvx 4,7,4 ++ stvx 1,0,4 ++ vsel 0,0,4,2 ++ stvx 0,7,4 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,3,0 ++.long 0 ++.size aes_hw_encrypt,.-aes_hw_encrypt ++.globl aes_hw_decrypt ++.type aes_hw_decrypt,@function ++.align 5 ++aes_hw_decrypt: ++.localentry aes_hw_decrypt,0 ++ ++ lwz 6,240(5) ++ lis 0,0xfc00 ++ li 12,-1 ++ li 7,15 ++ or 0,0,0 ++ ++ lvx 0,0,3 ++ neg 11,4 ++ lvx 1,7,3 ++ lvsl 2,0,3 ++ vspltisb 4,0x0f ++ lvsr 3,0,11 ++ vxor 2,2,4 ++ li 7,16 ++ vperm 0,0,1,2 ++ lvx 1,0,5 ++ lvsr 5,0,5 ++ srwi 6,6,1 ++ lvx 2,7,5 ++ addi 7,7,16 ++ subi 6,6,1 ++ vperm 1,2,1,5 ++ ++ vxor 0,0,1 ++ lvx 1,7,5 ++ addi 7,7,16 ++ mtctr 6 ++ ++.Loop_dec: ++ vperm 2,1,2,5 ++ .long 0x10001548 ++ lvx 2,7,5 ++ addi 7,7,16 ++ vperm 1,2,1,5 ++ .long 0x10000D48 ++ lvx 1,7,5 ++ addi 7,7,16 ++ bdnz .Loop_dec ++ ++ vperm 2,1,2,5 ++ .long 0x10001548 ++ lvx 2,7,5 ++ vperm 1,2,1,5 ++ .long 0x10000D49 ++ ++ vspltisb 2,-1 ++ vxor 1,1,1 ++ li 7,15 ++ vperm 2,2,1,3 ++ vxor 3,3,4 ++ lvx 1,0,4 ++ vperm 0,0,0,3 ++ vsel 1,1,0,2 ++ lvx 4,7,4 ++ stvx 1,0,4 ++ vsel 0,0,4,2 ++ stvx 0,7,4 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,3,0 ++.long 0 ++.size aes_hw_decrypt,.-aes_hw_decrypt ++.globl aes_hw_cbc_encrypt ++.type aes_hw_cbc_encrypt,@function ++.align 5 ++aes_hw_cbc_encrypt: ++.localentry aes_hw_cbc_encrypt,0 ++ ++ cmpldi 5,16 ++ .long 0x4dc00020 ++ ++ cmpwi 8,0 ++ lis 0,0xffe0 ++ li 12,-1 ++ or 0,0,0 ++ ++ li 10,15 ++ vxor 0,0,0 ++ vspltisb 3,0x0f ++ ++ lvx 4,0,7 ++ lvsl 6,0,7 ++ lvx 5,10,7 ++ vxor 6,6,3 ++ vperm 4,4,5,6 ++ ++ neg 11,3 ++ lvsr 10,0,6 ++ lwz 9,240(6) ++ ++ lvsr 6,0,11 ++ lvx 5,0,3 ++ addi 3,3,15 ++ vxor 6,6,3 ++ ++ lvsl 8,0,4 ++ vspltisb 9,-1 ++ lvx 7,0,4 ++ vperm 9,9,0,8 ++ vxor 8,8,3 ++ ++ srwi 9,9,1 ++ li 10,16 ++ subi 9,9,1 ++ beq .Lcbc_dec ++ ++.Lcbc_enc: ++ vor 2,5,5 ++ lvx 5,0,3 ++ addi 3,3,16 ++ mtctr 9 ++ subi 5,5,16 ++ ++ lvx 0,0,6 ++ vperm 2,2,5,6 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ vxor 2,2,0 ++ lvx 0,10,6 ++ addi 10,10,16 ++ vxor 2,2,4 ++ ++.Loop_cbc_enc: ++ vperm 1,0,1,10 ++ .long 0x10420D08 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ .long 0x10420508 ++ lvx 0,10,6 ++ addi 10,10,16 ++ bdnz .Loop_cbc_enc ++ ++ vperm 1,0,1,10 ++ .long 0x10420D08 ++ lvx 1,10,6 ++ li 10,16 ++ vperm 0,1,0,10 ++ .long 0x10820509 ++ cmpldi 5,16 ++ ++ vperm 3,4,4,8 ++ vsel 2,7,3,9 ++ vor 7,3,3 ++ stvx 2,0,4 ++ addi 4,4,16 ++ bge .Lcbc_enc ++ ++ b .Lcbc_done ++ ++.align 4 ++.Lcbc_dec: ++ cmpldi 5,128 ++ bge _aesp8_cbc_decrypt8x ++ vor 3,5,5 ++ lvx 5,0,3 ++ addi 3,3,16 ++ mtctr 9 ++ subi 5,5,16 ++ ++ lvx 0,0,6 ++ vperm 3,3,5,6 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ vxor 2,3,0 ++ lvx 0,10,6 ++ addi 10,10,16 ++ ++.Loop_cbc_dec: ++ vperm 1,0,1,10 ++ .long 0x10420D48 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ .long 0x10420548 ++ lvx 0,10,6 ++ addi 10,10,16 ++ bdnz .Loop_cbc_dec ++ ++ vperm 1,0,1,10 ++ .long 0x10420D48 ++ lvx 1,10,6 ++ li 10,16 ++ vperm 0,1,0,10 ++ .long 0x10420549 ++ cmpldi 5,16 ++ ++ vxor 2,2,4 ++ vor 4,3,3 ++ vperm 3,2,2,8 ++ vsel 2,7,3,9 ++ vor 7,3,3 ++ stvx 2,0,4 ++ addi 4,4,16 ++ bge .Lcbc_dec ++ ++.Lcbc_done: ++ addi 4,4,-1 ++ lvx 2,0,4 ++ vsel 2,7,2,9 ++ stvx 2,0,4 ++ ++ neg 8,7 ++ li 10,15 ++ vxor 0,0,0 ++ vspltisb 9,-1 ++ vspltisb 3,0x0f ++ lvsr 8,0,8 ++ vperm 9,9,0,8 ++ vxor 8,8,3 ++ lvx 7,0,7 ++ vperm 4,4,4,8 ++ vsel 2,7,4,9 ++ lvx 5,10,7 ++ stvx 2,0,7 ++ vsel 2,4,5,9 ++ stvx 2,10,7 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,6,0 ++.long 0 ++.align 5 ++_aesp8_cbc_decrypt8x: ++ stdu 1,-448(1) ++ li 10,207 ++ li 11,223 ++ stvx 20,10,1 ++ addi 10,10,32 ++ stvx 21,11,1 ++ addi 11,11,32 ++ stvx 22,10,1 ++ addi 10,10,32 ++ stvx 23,11,1 ++ addi 11,11,32 ++ stvx 24,10,1 ++ addi 10,10,32 ++ stvx 25,11,1 ++ addi 11,11,32 ++ stvx 26,10,1 ++ addi 10,10,32 ++ stvx 27,11,1 ++ addi 11,11,32 ++ stvx 28,10,1 ++ addi 10,10,32 ++ stvx 29,11,1 ++ addi 11,11,32 ++ stvx 30,10,1 ++ stvx 31,11,1 ++ li 0,-1 ++ stw 12,396(1) ++ li 8,0x10 ++ std 26,400(1) ++ li 26,0x20 ++ std 27,408(1) ++ li 27,0x30 ++ std 28,416(1) ++ li 28,0x40 ++ std 29,424(1) ++ li 29,0x50 ++ std 30,432(1) ++ li 30,0x60 ++ std 31,440(1) ++ li 31,0x70 ++ or 0,0,0 ++ ++ subi 9,9,3 ++ subi 5,5,128 ++ ++ lvx 23,0,6 ++ lvx 30,8,6 ++ addi 6,6,0x20 ++ lvx 31,0,6 ++ vperm 23,30,23,10 ++ addi 11,1,79 ++ mtctr 9 ++ ++.Load_cbc_dec_key: ++ vperm 24,31,30,10 ++ lvx 30,8,6 ++ addi 6,6,0x20 ++ stvx 24,0,11 ++ vperm 25,30,31,10 ++ lvx 31,0,6 ++ stvx 25,8,11 ++ addi 11,11,0x20 ++ bdnz .Load_cbc_dec_key ++ ++ lvx 26,8,6 ++ vperm 24,31,30,10 ++ lvx 27,26,6 ++ stvx 24,0,11 ++ vperm 25,26,31,10 ++ lvx 28,27,6 ++ stvx 25,8,11 ++ addi 11,1,79 ++ vperm 26,27,26,10 ++ lvx 29,28,6 ++ vperm 27,28,27,10 ++ lvx 30,29,6 ++ vperm 28,29,28,10 ++ lvx 31,30,6 ++ vperm 29,30,29,10 ++ lvx 14,31,6 ++ vperm 30,31,30,10 ++ lvx 24,0,11 ++ vperm 31,14,31,10 ++ lvx 25,8,11 ++ ++ ++ ++ subi 3,3,15 ++ ++ li 10,8 ++ .long 0x7C001E99 ++ lvsl 6,0,10 ++ vspltisb 3,0x0f ++ .long 0x7C281E99 ++ vxor 6,6,3 ++ .long 0x7C5A1E99 ++ vperm 0,0,0,6 ++ .long 0x7C7B1E99 ++ vperm 1,1,1,6 ++ .long 0x7D5C1E99 ++ vperm 2,2,2,6 ++ vxor 14,0,23 ++ .long 0x7D7D1E99 ++ vperm 3,3,3,6 ++ vxor 15,1,23 ++ .long 0x7D9E1E99 ++ vperm 10,10,10,6 ++ vxor 16,2,23 ++ .long 0x7DBF1E99 ++ addi 3,3,0x80 ++ vperm 11,11,11,6 ++ vxor 17,3,23 ++ vperm 12,12,12,6 ++ vxor 18,10,23 ++ vperm 13,13,13,6 ++ vxor 19,11,23 ++ vxor 20,12,23 ++ vxor 21,13,23 ++ ++ mtctr 9 ++ b .Loop_cbc_dec8x ++.align 5 ++.Loop_cbc_dec8x: ++ .long 0x11CEC548 ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ .long 0x1231C548 ++ .long 0x1252C548 ++ .long 0x1273C548 ++ .long 0x1294C548 ++ .long 0x12B5C548 ++ lvx 24,26,11 ++ addi 11,11,0x20 ++ ++ .long 0x11CECD48 ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ .long 0x1231CD48 ++ .long 0x1252CD48 ++ .long 0x1273CD48 ++ .long 0x1294CD48 ++ .long 0x12B5CD48 ++ lvx 25,8,11 ++ bdnz .Loop_cbc_dec8x ++ ++ subic 5,5,128 ++ .long 0x11CEC548 ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ .long 0x1231C548 ++ .long 0x1252C548 ++ .long 0x1273C548 ++ .long 0x1294C548 ++ .long 0x12B5C548 ++ ++ subfe. 0,0,0 ++ .long 0x11CECD48 ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ .long 0x1231CD48 ++ .long 0x1252CD48 ++ .long 0x1273CD48 ++ .long 0x1294CD48 ++ .long 0x12B5CD48 ++ ++ and 0,0,5 ++ .long 0x11CED548 ++ .long 0x11EFD548 ++ .long 0x1210D548 ++ .long 0x1231D548 ++ .long 0x1252D548 ++ .long 0x1273D548 ++ .long 0x1294D548 ++ .long 0x12B5D548 ++ ++ add 3,3,0 ++ ++ ++ ++ .long 0x11CEDD48 ++ .long 0x11EFDD48 ++ .long 0x1210DD48 ++ .long 0x1231DD48 ++ .long 0x1252DD48 ++ .long 0x1273DD48 ++ .long 0x1294DD48 ++ .long 0x12B5DD48 ++ ++ addi 11,1,79 ++ .long 0x11CEE548 ++ .long 0x11EFE548 ++ .long 0x1210E548 ++ .long 0x1231E548 ++ .long 0x1252E548 ++ .long 0x1273E548 ++ .long 0x1294E548 ++ .long 0x12B5E548 ++ lvx 24,0,11 ++ ++ .long 0x11CEED48 ++ .long 0x11EFED48 ++ .long 0x1210ED48 ++ .long 0x1231ED48 ++ .long 0x1252ED48 ++ .long 0x1273ED48 ++ .long 0x1294ED48 ++ .long 0x12B5ED48 ++ lvx 25,8,11 ++ ++ .long 0x11CEF548 ++ vxor 4,4,31 ++ .long 0x11EFF548 ++ vxor 0,0,31 ++ .long 0x1210F548 ++ vxor 1,1,31 ++ .long 0x1231F548 ++ vxor 2,2,31 ++ .long 0x1252F548 ++ vxor 3,3,31 ++ .long 0x1273F548 ++ vxor 10,10,31 ++ .long 0x1294F548 ++ vxor 11,11,31 ++ .long 0x12B5F548 ++ vxor 12,12,31 ++ ++ .long 0x11CE2549 ++ .long 0x11EF0549 ++ .long 0x7C001E99 ++ .long 0x12100D49 ++ .long 0x7C281E99 ++ .long 0x12311549 ++ vperm 0,0,0,6 ++ .long 0x7C5A1E99 ++ .long 0x12521D49 ++ vperm 1,1,1,6 ++ .long 0x7C7B1E99 ++ .long 0x12735549 ++ vperm 2,2,2,6 ++ .long 0x7D5C1E99 ++ .long 0x12945D49 ++ vperm 3,3,3,6 ++ .long 0x7D7D1E99 ++ .long 0x12B56549 ++ vperm 10,10,10,6 ++ .long 0x7D9E1E99 ++ vor 4,13,13 ++ vperm 11,11,11,6 ++ .long 0x7DBF1E99 ++ addi 3,3,0x80 ++ ++ vperm 14,14,14,6 ++ vperm 15,15,15,6 ++ .long 0x7DC02799 ++ vperm 12,12,12,6 ++ vxor 14,0,23 ++ vperm 16,16,16,6 ++ .long 0x7DE82799 ++ vperm 13,13,13,6 ++ vxor 15,1,23 ++ vperm 17,17,17,6 ++ .long 0x7E1A2799 ++ vxor 16,2,23 ++ vperm 18,18,18,6 ++ .long 0x7E3B2799 ++ vxor 17,3,23 ++ vperm 19,19,19,6 ++ .long 0x7E5C2799 ++ vxor 18,10,23 ++ vperm 20,20,20,6 ++ .long 0x7E7D2799 ++ vxor 19,11,23 ++ vperm 21,21,21,6 ++ .long 0x7E9E2799 ++ vxor 20,12,23 ++ .long 0x7EBF2799 ++ addi 4,4,0x80 ++ vxor 21,13,23 ++ ++ mtctr 9 ++ beq .Loop_cbc_dec8x ++ ++ addic. 5,5,128 ++ beq .Lcbc_dec8x_done ++ nop ++ nop ++ ++.Loop_cbc_dec8x_tail: ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ .long 0x1231C548 ++ .long 0x1252C548 ++ .long 0x1273C548 ++ .long 0x1294C548 ++ .long 0x12B5C548 ++ lvx 24,26,11 ++ addi 11,11,0x20 ++ ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ .long 0x1231CD48 ++ .long 0x1252CD48 ++ .long 0x1273CD48 ++ .long 0x1294CD48 ++ .long 0x12B5CD48 ++ lvx 25,8,11 ++ bdnz .Loop_cbc_dec8x_tail ++ ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ .long 0x1231C548 ++ .long 0x1252C548 ++ .long 0x1273C548 ++ .long 0x1294C548 ++ .long 0x12B5C548 ++ ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ .long 0x1231CD48 ++ .long 0x1252CD48 ++ .long 0x1273CD48 ++ .long 0x1294CD48 ++ .long 0x12B5CD48 ++ ++ .long 0x11EFD548 ++ .long 0x1210D548 ++ .long 0x1231D548 ++ .long 0x1252D548 ++ .long 0x1273D548 ++ .long 0x1294D548 ++ .long 0x12B5D548 ++ ++ .long 0x11EFDD48 ++ .long 0x1210DD48 ++ .long 0x1231DD48 ++ .long 0x1252DD48 ++ .long 0x1273DD48 ++ .long 0x1294DD48 ++ .long 0x12B5DD48 ++ ++ .long 0x11EFE548 ++ .long 0x1210E548 ++ .long 0x1231E548 ++ .long 0x1252E548 ++ .long 0x1273E548 ++ .long 0x1294E548 ++ .long 0x12B5E548 ++ ++ .long 0x11EFED48 ++ .long 0x1210ED48 ++ .long 0x1231ED48 ++ .long 0x1252ED48 ++ .long 0x1273ED48 ++ .long 0x1294ED48 ++ .long 0x12B5ED48 ++ ++ .long 0x11EFF548 ++ vxor 4,4,31 ++ .long 0x1210F548 ++ vxor 1,1,31 ++ .long 0x1231F548 ++ vxor 2,2,31 ++ .long 0x1252F548 ++ vxor 3,3,31 ++ .long 0x1273F548 ++ vxor 10,10,31 ++ .long 0x1294F548 ++ vxor 11,11,31 ++ .long 0x12B5F548 ++ vxor 12,12,31 ++ ++ cmplwi 5,32 ++ blt .Lcbc_dec8x_one ++ nop ++ beq .Lcbc_dec8x_two ++ cmplwi 5,64 ++ blt .Lcbc_dec8x_three ++ nop ++ beq .Lcbc_dec8x_four ++ cmplwi 5,96 ++ blt .Lcbc_dec8x_five ++ nop ++ beq .Lcbc_dec8x_six ++ ++.Lcbc_dec8x_seven: ++ .long 0x11EF2549 ++ .long 0x12100D49 ++ .long 0x12311549 ++ .long 0x12521D49 ++ .long 0x12735549 ++ .long 0x12945D49 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ vperm 19,19,19,6 ++ .long 0x7E5B2799 ++ vperm 20,20,20,6 ++ .long 0x7E7C2799 ++ vperm 21,21,21,6 ++ .long 0x7E9D2799 ++ .long 0x7EBE2799 ++ addi 4,4,0x70 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_six: ++ .long 0x12102549 ++ .long 0x12311549 ++ .long 0x12521D49 ++ .long 0x12735549 ++ .long 0x12945D49 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 16,16,16,6 ++ vperm 17,17,17,6 ++ .long 0x7E002799 ++ vperm 18,18,18,6 ++ .long 0x7E282799 ++ vperm 19,19,19,6 ++ .long 0x7E5A2799 ++ vperm 20,20,20,6 ++ .long 0x7E7B2799 ++ vperm 21,21,21,6 ++ .long 0x7E9C2799 ++ .long 0x7EBD2799 ++ addi 4,4,0x60 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_five: ++ .long 0x12312549 ++ .long 0x12521D49 ++ .long 0x12735549 ++ .long 0x12945D49 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 17,17,17,6 ++ vperm 18,18,18,6 ++ .long 0x7E202799 ++ vperm 19,19,19,6 ++ .long 0x7E482799 ++ vperm 20,20,20,6 ++ .long 0x7E7A2799 ++ vperm 21,21,21,6 ++ .long 0x7E9B2799 ++ .long 0x7EBC2799 ++ addi 4,4,0x50 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_four: ++ .long 0x12522549 ++ .long 0x12735549 ++ .long 0x12945D49 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 18,18,18,6 ++ vperm 19,19,19,6 ++ .long 0x7E402799 ++ vperm 20,20,20,6 ++ .long 0x7E682799 ++ vperm 21,21,21,6 ++ .long 0x7E9A2799 ++ .long 0x7EBB2799 ++ addi 4,4,0x40 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_three: ++ .long 0x12732549 ++ .long 0x12945D49 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 19,19,19,6 ++ vperm 20,20,20,6 ++ .long 0x7E602799 ++ vperm 21,21,21,6 ++ .long 0x7E882799 ++ .long 0x7EBA2799 ++ addi 4,4,0x30 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_two: ++ .long 0x12942549 ++ .long 0x12B56549 ++ vor 4,13,13 ++ ++ vperm 20,20,20,6 ++ vperm 21,21,21,6 ++ .long 0x7E802799 ++ .long 0x7EA82799 ++ addi 4,4,0x20 ++ b .Lcbc_dec8x_done ++ ++.align 5 ++.Lcbc_dec8x_one: ++ .long 0x12B52549 ++ vor 4,13,13 ++ ++ vperm 21,21,21,6 ++ .long 0x7EA02799 ++ addi 4,4,0x10 ++ ++.Lcbc_dec8x_done: ++ vperm 4,4,4,6 ++ .long 0x7C803F99 ++ ++ li 10,79 ++ li 11,95 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ ++ or 12,12,12 ++ lvx 20,10,1 ++ addi 10,10,32 ++ lvx 21,11,1 ++ addi 11,11,32 ++ lvx 22,10,1 ++ addi 10,10,32 ++ lvx 23,11,1 ++ addi 11,11,32 ++ lvx 24,10,1 ++ addi 10,10,32 ++ lvx 25,11,1 ++ addi 11,11,32 ++ lvx 26,10,1 ++ addi 10,10,32 ++ lvx 27,11,1 ++ addi 11,11,32 ++ lvx 28,10,1 ++ addi 10,10,32 ++ lvx 29,11,1 ++ addi 11,11,32 ++ lvx 30,10,1 ++ lvx 31,11,1 ++ ld 26,400(1) ++ ld 27,408(1) ++ ld 28,416(1) ++ ld 29,424(1) ++ ld 30,432(1) ++ ld 31,440(1) ++ addi 1,1,448 ++ blr ++.long 0 ++.byte 0,12,0x04,0,0x80,6,6,0 ++.long 0 ++.size aes_hw_cbc_encrypt,.-aes_hw_cbc_encrypt ++.globl aes_hw_ctr32_encrypt_blocks ++.type aes_hw_ctr32_encrypt_blocks,@function ++.align 5 ++aes_hw_ctr32_encrypt_blocks: ++.localentry aes_hw_ctr32_encrypt_blocks,0 ++ ++ cmpldi 5,1 ++ .long 0x4dc00020 ++ ++ lis 0,0xfff0 ++ li 12,-1 ++ or 0,0,0 ++ ++ li 10,15 ++ vxor 0,0,0 ++ vspltisb 3,0x0f ++ ++ lvx 4,0,7 ++ lvsl 6,0,7 ++ lvx 5,10,7 ++ vspltisb 11,1 ++ vxor 6,6,3 ++ vperm 4,4,5,6 ++ vsldoi 11,0,11,1 ++ ++ neg 11,3 ++ lvsr 10,0,6 ++ lwz 9,240(6) ++ ++ lvsr 6,0,11 ++ lvx 5,0,3 ++ addi 3,3,15 ++ vxor 6,6,3 ++ ++ srwi 9,9,1 ++ li 10,16 ++ subi 9,9,1 ++ ++ cmpldi 5,8 ++ bge _aesp8_ctr32_encrypt8x ++ ++ lvsl 8,0,4 ++ vspltisb 9,-1 ++ lvx 7,0,4 ++ vperm 9,9,0,8 ++ vxor 8,8,3 ++ ++ lvx 0,0,6 ++ mtctr 9 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ vxor 2,4,0 ++ lvx 0,10,6 ++ addi 10,10,16 ++ b .Loop_ctr32_enc ++ ++.align 5 ++.Loop_ctr32_enc: ++ vperm 1,0,1,10 ++ .long 0x10420D08 ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 0,1,0,10 ++ .long 0x10420508 ++ lvx 0,10,6 ++ addi 10,10,16 ++ bdnz .Loop_ctr32_enc ++ ++ vadduwm 4,4,11 ++ vor 3,5,5 ++ lvx 5,0,3 ++ addi 3,3,16 ++ subic. 5,5,1 ++ ++ vperm 1,0,1,10 ++ .long 0x10420D08 ++ lvx 1,10,6 ++ vperm 3,3,5,6 ++ li 10,16 ++ vperm 1,1,0,10 ++ lvx 0,0,6 ++ vxor 3,3,1 ++ .long 0x10421D09 ++ ++ lvx 1,10,6 ++ addi 10,10,16 ++ vperm 2,2,2,8 ++ vsel 3,7,2,9 ++ mtctr 9 ++ vperm 0,1,0,10 ++ vor 7,2,2 ++ vxor 2,4,0 ++ lvx 0,10,6 ++ addi 10,10,16 ++ stvx 3,0,4 ++ addi 4,4,16 ++ bne .Loop_ctr32_enc ++ ++ addi 4,4,-1 ++ lvx 2,0,4 ++ vsel 2,7,2,9 ++ stvx 2,0,4 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,6,0 ++.long 0 ++.align 5 ++_aesp8_ctr32_encrypt8x: ++ stdu 1,-448(1) ++ li 10,207 ++ li 11,223 ++ stvx 20,10,1 ++ addi 10,10,32 ++ stvx 21,11,1 ++ addi 11,11,32 ++ stvx 22,10,1 ++ addi 10,10,32 ++ stvx 23,11,1 ++ addi 11,11,32 ++ stvx 24,10,1 ++ addi 10,10,32 ++ stvx 25,11,1 ++ addi 11,11,32 ++ stvx 26,10,1 ++ addi 10,10,32 ++ stvx 27,11,1 ++ addi 11,11,32 ++ stvx 28,10,1 ++ addi 10,10,32 ++ stvx 29,11,1 ++ addi 11,11,32 ++ stvx 30,10,1 ++ stvx 31,11,1 ++ li 0,-1 ++ stw 12,396(1) ++ li 8,0x10 ++ std 26,400(1) ++ li 26,0x20 ++ std 27,408(1) ++ li 27,0x30 ++ std 28,416(1) ++ li 28,0x40 ++ std 29,424(1) ++ li 29,0x50 ++ std 30,432(1) ++ li 30,0x60 ++ std 31,440(1) ++ li 31,0x70 ++ or 0,0,0 ++ ++ subi 9,9,3 ++ ++ lvx 23,0,6 ++ lvx 30,8,6 ++ addi 6,6,0x20 ++ lvx 31,0,6 ++ vperm 23,30,23,10 ++ addi 11,1,79 ++ mtctr 9 ++ ++.Load_ctr32_enc_key: ++ vperm 24,31,30,10 ++ lvx 30,8,6 ++ addi 6,6,0x20 ++ stvx 24,0,11 ++ vperm 25,30,31,10 ++ lvx 31,0,6 ++ stvx 25,8,11 ++ addi 11,11,0x20 ++ bdnz .Load_ctr32_enc_key ++ ++ lvx 26,8,6 ++ vperm 24,31,30,10 ++ lvx 27,26,6 ++ stvx 24,0,11 ++ vperm 25,26,31,10 ++ lvx 28,27,6 ++ stvx 25,8,11 ++ addi 11,1,79 ++ vperm 26,27,26,10 ++ lvx 29,28,6 ++ vperm 27,28,27,10 ++ lvx 30,29,6 ++ vperm 28,29,28,10 ++ lvx 31,30,6 ++ vperm 29,30,29,10 ++ lvx 15,31,6 ++ vperm 30,31,30,10 ++ lvx 24,0,11 ++ vperm 31,15,31,10 ++ lvx 25,8,11 ++ ++ vadduwm 7,11,11 ++ subi 3,3,15 ++ sldi 5,5,4 ++ ++ vadduwm 16,4,11 ++ vadduwm 17,4,7 ++ vxor 15,4,23 ++ li 10,8 ++ vadduwm 18,16,7 ++ vxor 16,16,23 ++ lvsl 6,0,10 ++ vadduwm 19,17,7 ++ vxor 17,17,23 ++ vspltisb 3,0x0f ++ vadduwm 20,18,7 ++ vxor 18,18,23 ++ vxor 6,6,3 ++ vadduwm 21,19,7 ++ vxor 19,19,23 ++ vadduwm 22,20,7 ++ vxor 20,20,23 ++ vadduwm 4,21,7 ++ vxor 21,21,23 ++ vxor 22,22,23 ++ ++ mtctr 9 ++ b .Loop_ctr32_enc8x ++.align 5 ++.Loop_ctr32_enc8x: ++ .long 0x11EFC508 ++ .long 0x1210C508 ++ .long 0x1231C508 ++ .long 0x1252C508 ++ .long 0x1273C508 ++ .long 0x1294C508 ++ .long 0x12B5C508 ++ .long 0x12D6C508 ++.Loop_ctr32_enc8x_middle: ++ lvx 24,26,11 ++ addi 11,11,0x20 ++ ++ .long 0x11EFCD08 ++ .long 0x1210CD08 ++ .long 0x1231CD08 ++ .long 0x1252CD08 ++ .long 0x1273CD08 ++ .long 0x1294CD08 ++ .long 0x12B5CD08 ++ .long 0x12D6CD08 ++ lvx 25,8,11 ++ bdnz .Loop_ctr32_enc8x ++ ++ subic 11,5,256 ++ .long 0x11EFC508 ++ .long 0x1210C508 ++ .long 0x1231C508 ++ .long 0x1252C508 ++ .long 0x1273C508 ++ .long 0x1294C508 ++ .long 0x12B5C508 ++ .long 0x12D6C508 ++ ++ subfe 0,0,0 ++ .long 0x11EFCD08 ++ .long 0x1210CD08 ++ .long 0x1231CD08 ++ .long 0x1252CD08 ++ .long 0x1273CD08 ++ .long 0x1294CD08 ++ .long 0x12B5CD08 ++ .long 0x12D6CD08 ++ ++ and 0,0,11 ++ addi 11,1,79 ++ .long 0x11EFD508 ++ .long 0x1210D508 ++ .long 0x1231D508 ++ .long 0x1252D508 ++ .long 0x1273D508 ++ .long 0x1294D508 ++ .long 0x12B5D508 ++ .long 0x12D6D508 ++ lvx 24,0,11 ++ ++ subic 5,5,129 ++ .long 0x11EFDD08 ++ addi 5,5,1 ++ .long 0x1210DD08 ++ .long 0x1231DD08 ++ .long 0x1252DD08 ++ .long 0x1273DD08 ++ .long 0x1294DD08 ++ .long 0x12B5DD08 ++ .long 0x12D6DD08 ++ lvx 25,8,11 ++ ++ .long 0x11EFE508 ++ .long 0x7C001E99 ++ .long 0x1210E508 ++ .long 0x7C281E99 ++ .long 0x1231E508 ++ .long 0x7C5A1E99 ++ .long 0x1252E508 ++ .long 0x7C7B1E99 ++ .long 0x1273E508 ++ .long 0x7D5C1E99 ++ .long 0x1294E508 ++ .long 0x7D9D1E99 ++ .long 0x12B5E508 ++ .long 0x7DBE1E99 ++ .long 0x12D6E508 ++ .long 0x7DDF1E99 ++ addi 3,3,0x80 ++ ++ .long 0x11EFED08 ++ vperm 0,0,0,6 ++ .long 0x1210ED08 ++ vperm 1,1,1,6 ++ .long 0x1231ED08 ++ vperm 2,2,2,6 ++ .long 0x1252ED08 ++ vperm 3,3,3,6 ++ .long 0x1273ED08 ++ vperm 10,10,10,6 ++ .long 0x1294ED08 ++ vperm 12,12,12,6 ++ .long 0x12B5ED08 ++ vperm 13,13,13,6 ++ .long 0x12D6ED08 ++ vperm 14,14,14,6 ++ ++ add 3,3,0 ++ ++ ++ ++ subfe. 0,0,0 ++ .long 0x11EFF508 ++ vxor 0,0,31 ++ .long 0x1210F508 ++ vxor 1,1,31 ++ .long 0x1231F508 ++ vxor 2,2,31 ++ .long 0x1252F508 ++ vxor 3,3,31 ++ .long 0x1273F508 ++ vxor 10,10,31 ++ .long 0x1294F508 ++ vxor 12,12,31 ++ .long 0x12B5F508 ++ vxor 13,13,31 ++ .long 0x12D6F508 ++ vxor 14,14,31 ++ ++ bne .Lctr32_enc8x_break ++ ++ .long 0x100F0509 ++ .long 0x10300D09 ++ vadduwm 16,4,11 ++ .long 0x10511509 ++ vadduwm 17,4,7 ++ vxor 15,4,23 ++ .long 0x10721D09 ++ vadduwm 18,16,7 ++ vxor 16,16,23 ++ .long 0x11535509 ++ vadduwm 19,17,7 ++ vxor 17,17,23 ++ .long 0x11946509 ++ vadduwm 20,18,7 ++ vxor 18,18,23 ++ .long 0x11B56D09 ++ vadduwm 21,19,7 ++ vxor 19,19,23 ++ .long 0x11D67509 ++ vadduwm 22,20,7 ++ vxor 20,20,23 ++ vperm 0,0,0,6 ++ vadduwm 4,21,7 ++ vxor 21,21,23 ++ vperm 1,1,1,6 ++ vxor 22,22,23 ++ mtctr 9 ++ ++ .long 0x11EFC508 ++ .long 0x7C002799 ++ vperm 2,2,2,6 ++ .long 0x1210C508 ++ .long 0x7C282799 ++ vperm 3,3,3,6 ++ .long 0x1231C508 ++ .long 0x7C5A2799 ++ vperm 10,10,10,6 ++ .long 0x1252C508 ++ .long 0x7C7B2799 ++ vperm 12,12,12,6 ++ .long 0x1273C508 ++ .long 0x7D5C2799 ++ vperm 13,13,13,6 ++ .long 0x1294C508 ++ .long 0x7D9D2799 ++ vperm 14,14,14,6 ++ .long 0x12B5C508 ++ .long 0x7DBE2799 ++ .long 0x12D6C508 ++ .long 0x7DDF2799 ++ addi 4,4,0x80 ++ ++ b .Loop_ctr32_enc8x_middle ++ ++.align 5 ++.Lctr32_enc8x_break: ++ cmpwi 5,-0x60 ++ blt .Lctr32_enc8x_one ++ nop ++ beq .Lctr32_enc8x_two ++ cmpwi 5,-0x40 ++ blt .Lctr32_enc8x_three ++ nop ++ beq .Lctr32_enc8x_four ++ cmpwi 5,-0x20 ++ blt .Lctr32_enc8x_five ++ nop ++ beq .Lctr32_enc8x_six ++ cmpwi 5,0x00 ++ blt .Lctr32_enc8x_seven ++ ++.Lctr32_enc8x_eight: ++ .long 0x11EF0509 ++ .long 0x12100D09 ++ .long 0x12311509 ++ .long 0x12521D09 ++ .long 0x12735509 ++ .long 0x12946509 ++ .long 0x12B56D09 ++ .long 0x12D67509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ vperm 19,19,19,6 ++ .long 0x7E5B2799 ++ vperm 20,20,20,6 ++ .long 0x7E7C2799 ++ vperm 21,21,21,6 ++ .long 0x7E9D2799 ++ vperm 22,22,22,6 ++ .long 0x7EBE2799 ++ .long 0x7EDF2799 ++ addi 4,4,0x80 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_seven: ++ .long 0x11EF0D09 ++ .long 0x12101509 ++ .long 0x12311D09 ++ .long 0x12525509 ++ .long 0x12736509 ++ .long 0x12946D09 ++ .long 0x12B57509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ vperm 19,19,19,6 ++ .long 0x7E5B2799 ++ vperm 20,20,20,6 ++ .long 0x7E7C2799 ++ vperm 21,21,21,6 ++ .long 0x7E9D2799 ++ .long 0x7EBE2799 ++ addi 4,4,0x70 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_six: ++ .long 0x11EF1509 ++ .long 0x12101D09 ++ .long 0x12315509 ++ .long 0x12526509 ++ .long 0x12736D09 ++ .long 0x12947509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ vperm 19,19,19,6 ++ .long 0x7E5B2799 ++ vperm 20,20,20,6 ++ .long 0x7E7C2799 ++ .long 0x7E9D2799 ++ addi 4,4,0x60 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_five: ++ .long 0x11EF1D09 ++ .long 0x12105509 ++ .long 0x12316509 ++ .long 0x12526D09 ++ .long 0x12737509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ vperm 19,19,19,6 ++ .long 0x7E5B2799 ++ .long 0x7E7C2799 ++ addi 4,4,0x50 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_four: ++ .long 0x11EF5509 ++ .long 0x12106509 ++ .long 0x12316D09 ++ .long 0x12527509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ vperm 18,18,18,6 ++ .long 0x7E3A2799 ++ .long 0x7E5B2799 ++ addi 4,4,0x40 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_three: ++ .long 0x11EF6509 ++ .long 0x12106D09 ++ .long 0x12317509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ vperm 17,17,17,6 ++ .long 0x7E082799 ++ .long 0x7E3A2799 ++ addi 4,4,0x30 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_two: ++ .long 0x11EF6D09 ++ .long 0x12107509 ++ ++ vperm 15,15,15,6 ++ vperm 16,16,16,6 ++ .long 0x7DE02799 ++ .long 0x7E082799 ++ addi 4,4,0x20 ++ b .Lctr32_enc8x_done ++ ++.align 5 ++.Lctr32_enc8x_one: ++ .long 0x11EF7509 ++ ++ vperm 15,15,15,6 ++ .long 0x7DE02799 ++ addi 4,4,0x10 ++ ++.Lctr32_enc8x_done: ++ li 10,79 ++ li 11,95 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ stvx 6,10,1 ++ addi 10,10,32 ++ stvx 6,11,1 ++ addi 11,11,32 ++ ++ or 12,12,12 ++ lvx 20,10,1 ++ addi 10,10,32 ++ lvx 21,11,1 ++ addi 11,11,32 ++ lvx 22,10,1 ++ addi 10,10,32 ++ lvx 23,11,1 ++ addi 11,11,32 ++ lvx 24,10,1 ++ addi 10,10,32 ++ lvx 25,11,1 ++ addi 11,11,32 ++ lvx 26,10,1 ++ addi 10,10,32 ++ lvx 27,11,1 ++ addi 11,11,32 ++ lvx 28,10,1 ++ addi 10,10,32 ++ lvx 29,11,1 ++ addi 11,11,32 ++ lvx 30,10,1 ++ lvx 31,11,1 ++ ld 26,400(1) ++ ld 27,408(1) ++ ld 28,416(1) ++ ld 29,424(1) ++ ld 30,432(1) ++ ld 31,440(1) ++ addi 1,1,448 ++ blr ++.long 0 ++.byte 0,12,0x04,0,0x80,6,6,0 ++.long 0 ++.size aes_hw_ctr32_encrypt_blocks,.-aes_hw_ctr32_encrypt_blocks ++.globl aes_hw_xts_encrypt ++.type aes_hw_xts_encrypt,@function ++.align 5 ++aes_hw_xts_encrypt: ++.localentry aes_hw_xts_encrypt,0 ++ ++ mr 10,3 ++ li 3,-1 ++ cmpldi 5,16 ++ .long 0x4dc00020 ++ ++ lis 0,0xfff0 ++ li 12,-1 ++ li 11,0 ++ or 0,0,0 ++ ++ vspltisb 9,0x07 ++ lvsl 6,11,11 ++ vspltisb 11,0x0f ++ vxor 6,6,9 ++ ++ li 3,15 ++ lvx 8,0,8 ++ lvsl 5,0,8 ++ lvx 4,3,8 ++ vxor 5,5,11 ++ vperm 8,8,4,5 ++ ++ neg 11,10 ++ lvsr 5,0,11 ++ lvx 2,0,10 ++ addi 10,10,15 ++ vxor 5,5,11 ++ ++ cmpldi 7,0 ++ beq .Lxts_enc_no_key2 ++ ++ lvsr 7,0,7 ++ lwz 9,240(7) ++ srwi 9,9,1 ++ subi 9,9,1 ++ li 3,16 ++ ++ lvx 0,0,7 ++ lvx 1,3,7 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ vxor 8,8,0 ++ lvx 0,3,7 ++ addi 3,3,16 ++ mtctr 9 ++ ++.Ltweak_xts_enc: ++ vperm 1,0,1,7 ++ .long 0x11080D08 ++ lvx 1,3,7 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ .long 0x11080508 ++ lvx 0,3,7 ++ addi 3,3,16 ++ bdnz .Ltweak_xts_enc ++ ++ vperm 1,0,1,7 ++ .long 0x11080D08 ++ lvx 1,3,7 ++ vperm 0,1,0,7 ++ .long 0x11080509 ++ ++ li 8,0 ++ b .Lxts_enc ++ ++.Lxts_enc_no_key2: ++ li 3,-16 ++ and 5,5,3 ++ ++ ++.Lxts_enc: ++ lvx 4,0,10 ++ addi 10,10,16 ++ ++ lvsr 7,0,6 ++ lwz 9,240(6) ++ srwi 9,9,1 ++ subi 9,9,1 ++ li 3,16 ++ ++ vslb 10,9,9 ++ vor 10,10,9 ++ vspltisb 11,1 ++ vsldoi 10,10,11,15 ++ ++ cmpldi 5,96 ++ bge _aesp8_xts_encrypt6x ++ ++ andi. 7,5,15 ++ subic 0,5,32 ++ subi 7,7,16 ++ subfe 0,0,0 ++ and 0,0,7 ++ add 10,10,0 ++ ++ lvx 0,0,6 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 2,2,4,5 ++ vperm 0,1,0,7 ++ vxor 2,2,8 ++ vxor 2,2,0 ++ lvx 0,3,6 ++ addi 3,3,16 ++ mtctr 9 ++ b .Loop_xts_enc ++ ++.align 5 ++.Loop_xts_enc: ++ vperm 1,0,1,7 ++ .long 0x10420D08 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ .long 0x10420508 ++ lvx 0,3,6 ++ addi 3,3,16 ++ bdnz .Loop_xts_enc ++ ++ vperm 1,0,1,7 ++ .long 0x10420D08 ++ lvx 1,3,6 ++ li 3,16 ++ vperm 0,1,0,7 ++ vxor 0,0,8 ++ .long 0x10620509 ++ ++ vperm 11,3,3,6 ++ ++ .long 0x7D602799 ++ ++ addi 4,4,16 ++ ++ subic. 5,5,16 ++ beq .Lxts_enc_done ++ ++ vor 2,4,4 ++ lvx 4,0,10 ++ addi 10,10,16 ++ lvx 0,0,6 ++ lvx 1,3,6 ++ addi 3,3,16 ++ ++ subic 0,5,32 ++ subfe 0,0,0 ++ and 0,0,7 ++ add 10,10,0 ++ ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 8,8,11 ++ ++ vperm 2,2,4,5 ++ vperm 0,1,0,7 ++ vxor 2,2,8 ++ vxor 3,3,0 ++ vxor 2,2,0 ++ lvx 0,3,6 ++ addi 3,3,16 ++ ++ mtctr 9 ++ cmpldi 5,16 ++ bge .Loop_xts_enc ++ ++ vxor 3,3,8 ++ lvsr 5,0,5 ++ vxor 4,4,4 ++ vspltisb 11,-1 ++ vperm 4,4,11,5 ++ vsel 2,2,3,4 ++ ++ subi 11,4,17 ++ subi 4,4,16 ++ mtctr 5 ++ li 5,16 ++.Loop_xts_enc_steal: ++ lbzu 0,1(11) ++ stb 0,16(11) ++ bdnz .Loop_xts_enc_steal ++ ++ mtctr 9 ++ b .Loop_xts_enc ++ ++.Lxts_enc_done: ++ cmpldi 8,0 ++ beq .Lxts_enc_ret ++ ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 8,8,11 ++ ++ vperm 8,8,8,6 ++ .long 0x7D004799 ++ ++.Lxts_enc_ret: ++ or 12,12,12 ++ li 3,0 ++ blr ++.long 0 ++.byte 0,12,0x04,0,0x80,6,6,0 ++.long 0 ++.size aes_hw_xts_encrypt,.-aes_hw_xts_encrypt ++ ++.globl aes_hw_xts_decrypt ++.type aes_hw_xts_decrypt,@function ++.align 5 ++aes_hw_xts_decrypt: ++.localentry aes_hw_xts_decrypt,0 ++ ++ mr 10,3 ++ li 3,-1 ++ cmpldi 5,16 ++ .long 0x4dc00020 ++ ++ lis 0,0xfff8 ++ li 12,-1 ++ li 11,0 ++ or 0,0,0 ++ ++ andi. 0,5,15 ++ neg 0,0 ++ andi. 0,0,16 ++ sub 5,5,0 ++ ++ vspltisb 9,0x07 ++ lvsl 6,11,11 ++ vspltisb 11,0x0f ++ vxor 6,6,9 ++ ++ li 3,15 ++ lvx 8,0,8 ++ lvsl 5,0,8 ++ lvx 4,3,8 ++ vxor 5,5,11 ++ vperm 8,8,4,5 ++ ++ neg 11,10 ++ lvsr 5,0,11 ++ lvx 2,0,10 ++ addi 10,10,15 ++ vxor 5,5,11 ++ ++ cmpldi 7,0 ++ beq .Lxts_dec_no_key2 ++ ++ lvsr 7,0,7 ++ lwz 9,240(7) ++ srwi 9,9,1 ++ subi 9,9,1 ++ li 3,16 ++ ++ lvx 0,0,7 ++ lvx 1,3,7 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ vxor 8,8,0 ++ lvx 0,3,7 ++ addi 3,3,16 ++ mtctr 9 ++ ++.Ltweak_xts_dec: ++ vperm 1,0,1,7 ++ .long 0x11080D08 ++ lvx 1,3,7 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ .long 0x11080508 ++ lvx 0,3,7 ++ addi 3,3,16 ++ bdnz .Ltweak_xts_dec ++ ++ vperm 1,0,1,7 ++ .long 0x11080D08 ++ lvx 1,3,7 ++ vperm 0,1,0,7 ++ .long 0x11080509 ++ ++ li 8,0 ++ b .Lxts_dec ++ ++.Lxts_dec_no_key2: ++ neg 3,5 ++ andi. 3,3,15 ++ add 5,5,3 ++ ++ ++.Lxts_dec: ++ lvx 4,0,10 ++ addi 10,10,16 ++ ++ lvsr 7,0,6 ++ lwz 9,240(6) ++ srwi 9,9,1 ++ subi 9,9,1 ++ li 3,16 ++ ++ vslb 10,9,9 ++ vor 10,10,9 ++ vspltisb 11,1 ++ vsldoi 10,10,11,15 ++ ++ cmpldi 5,96 ++ bge _aesp8_xts_decrypt6x ++ ++ lvx 0,0,6 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 2,2,4,5 ++ vperm 0,1,0,7 ++ vxor 2,2,8 ++ vxor 2,2,0 ++ lvx 0,3,6 ++ addi 3,3,16 ++ mtctr 9 ++ ++ cmpldi 5,16 ++ blt .Ltail_xts_dec ++ ++ ++.align 5 ++.Loop_xts_dec: ++ vperm 1,0,1,7 ++ .long 0x10420D48 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ .long 0x10420548 ++ lvx 0,3,6 ++ addi 3,3,16 ++ bdnz .Loop_xts_dec ++ ++ vperm 1,0,1,7 ++ .long 0x10420D48 ++ lvx 1,3,6 ++ li 3,16 ++ vperm 0,1,0,7 ++ vxor 0,0,8 ++ .long 0x10620549 ++ ++ vperm 11,3,3,6 ++ ++ .long 0x7D602799 ++ ++ addi 4,4,16 ++ ++ subic. 5,5,16 ++ beq .Lxts_dec_done ++ ++ vor 2,4,4 ++ lvx 4,0,10 ++ addi 10,10,16 ++ lvx 0,0,6 ++ lvx 1,3,6 ++ addi 3,3,16 ++ ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 8,8,11 ++ ++ vperm 2,2,4,5 ++ vperm 0,1,0,7 ++ vxor 2,2,8 ++ vxor 2,2,0 ++ lvx 0,3,6 ++ addi 3,3,16 ++ ++ mtctr 9 ++ cmpldi 5,16 ++ bge .Loop_xts_dec ++ ++.Ltail_xts_dec: ++ vsrab 11,8,9 ++ vaddubm 12,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 12,12,11 ++ ++ subi 10,10,16 ++ add 10,10,5 ++ ++ vxor 2,2,8 ++ vxor 2,2,12 ++ ++.Loop_xts_dec_short: ++ vperm 1,0,1,7 ++ .long 0x10420D48 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 0,1,0,7 ++ .long 0x10420548 ++ lvx 0,3,6 ++ addi 3,3,16 ++ bdnz .Loop_xts_dec_short ++ ++ vperm 1,0,1,7 ++ .long 0x10420D48 ++ lvx 1,3,6 ++ li 3,16 ++ vperm 0,1,0,7 ++ vxor 0,0,12 ++ .long 0x10620549 ++ ++ vperm 11,3,3,6 ++ ++ .long 0x7D602799 ++ ++ ++ vor 2,4,4 ++ lvx 4,0,10 ++ ++ lvx 0,0,6 ++ lvx 1,3,6 ++ addi 3,3,16 ++ vperm 2,2,4,5 ++ vperm 0,1,0,7 ++ ++ lvsr 5,0,5 ++ vxor 4,4,4 ++ vspltisb 11,-1 ++ vperm 4,4,11,5 ++ vsel 2,2,3,4 ++ ++ vxor 0,0,8 ++ vxor 2,2,0 ++ lvx 0,3,6 ++ addi 3,3,16 ++ ++ subi 11,4,1 ++ mtctr 5 ++ li 5,16 ++.Loop_xts_dec_steal: ++ lbzu 0,1(11) ++ stb 0,16(11) ++ bdnz .Loop_xts_dec_steal ++ ++ mtctr 9 ++ b .Loop_xts_dec ++ ++.Lxts_dec_done: ++ cmpldi 8,0 ++ beq .Lxts_dec_ret ++ ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 8,8,11 ++ ++ vperm 8,8,8,6 ++ .long 0x7D004799 ++ ++.Lxts_dec_ret: ++ or 12,12,12 ++ li 3,0 ++ blr ++.long 0 ++.byte 0,12,0x04,0,0x80,6,6,0 ++.long 0 ++.size aes_hw_xts_decrypt,.-aes_hw_xts_decrypt ++.align 5 ++_aesp8_xts_encrypt6x: ++ stdu 1,-448(1) ++ mflr 11 ++ li 7,207 ++ li 3,223 ++ std 11,464(1) ++ stvx 20,7,1 ++ addi 7,7,32 ++ stvx 21,3,1 ++ addi 3,3,32 ++ stvx 22,7,1 ++ addi 7,7,32 ++ stvx 23,3,1 ++ addi 3,3,32 ++ stvx 24,7,1 ++ addi 7,7,32 ++ stvx 25,3,1 ++ addi 3,3,32 ++ stvx 26,7,1 ++ addi 7,7,32 ++ stvx 27,3,1 ++ addi 3,3,32 ++ stvx 28,7,1 ++ addi 7,7,32 ++ stvx 29,3,1 ++ addi 3,3,32 ++ stvx 30,7,1 ++ stvx 31,3,1 ++ li 0,-1 ++ stw 12,396(1) ++ li 3,0x10 ++ std 26,400(1) ++ li 26,0x20 ++ std 27,408(1) ++ li 27,0x30 ++ std 28,416(1) ++ li 28,0x40 ++ std 29,424(1) ++ li 29,0x50 ++ std 30,432(1) ++ li 30,0x60 ++ std 31,440(1) ++ li 31,0x70 ++ or 0,0,0 ++ ++ subi 9,9,3 ++ ++ lvx 23,0,6 ++ lvx 30,3,6 ++ addi 6,6,0x20 ++ lvx 31,0,6 ++ vperm 23,30,23,7 ++ addi 7,1,79 ++ mtctr 9 ++ ++.Load_xts_enc_key: ++ vperm 24,31,30,7 ++ lvx 30,3,6 ++ addi 6,6,0x20 ++ stvx 24,0,7 ++ vperm 25,30,31,7 ++ lvx 31,0,6 ++ stvx 25,3,7 ++ addi 7,7,0x20 ++ bdnz .Load_xts_enc_key ++ ++ lvx 26,3,6 ++ vperm 24,31,30,7 ++ lvx 27,26,6 ++ stvx 24,0,7 ++ vperm 25,26,31,7 ++ lvx 28,27,6 ++ stvx 25,3,7 ++ addi 7,1,79 ++ vperm 26,27,26,7 ++ lvx 29,28,6 ++ vperm 27,28,27,7 ++ lvx 30,29,6 ++ vperm 28,29,28,7 ++ lvx 31,30,6 ++ vperm 29,30,29,7 ++ lvx 22,31,6 ++ vperm 30,31,30,7 ++ lvx 24,0,7 ++ vperm 31,22,31,7 ++ lvx 25,3,7 ++ ++ vperm 0,2,4,5 ++ subi 10,10,31 ++ vxor 17,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 7,0,17 ++ vxor 8,8,11 ++ ++ .long 0x7C235699 ++ vxor 18,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 1,1,1,6 ++ vand 11,11,10 ++ vxor 12,1,18 ++ vxor 8,8,11 ++ ++ .long 0x7C5A5699 ++ andi. 31,5,15 ++ vxor 19,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 2,2,2,6 ++ vand 11,11,10 ++ vxor 13,2,19 ++ vxor 8,8,11 ++ ++ .long 0x7C7B5699 ++ sub 5,5,31 ++ vxor 20,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 3,3,3,6 ++ vand 11,11,10 ++ vxor 14,3,20 ++ vxor 8,8,11 ++ ++ .long 0x7C9C5699 ++ subi 5,5,0x60 ++ vxor 21,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 4,4,4,6 ++ vand 11,11,10 ++ vxor 15,4,21 ++ vxor 8,8,11 ++ ++ .long 0x7CBD5699 ++ addi 10,10,0x60 ++ vxor 22,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 5,5,5,6 ++ vand 11,11,10 ++ vxor 16,5,22 ++ vxor 8,8,11 ++ ++ vxor 31,31,23 ++ mtctr 9 ++ b .Loop_xts_enc6x ++ ++.align 5 ++.Loop_xts_enc6x: ++ .long 0x10E7C508 ++ .long 0x118CC508 ++ .long 0x11ADC508 ++ .long 0x11CEC508 ++ .long 0x11EFC508 ++ .long 0x1210C508 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD08 ++ .long 0x118CCD08 ++ .long 0x11ADCD08 ++ .long 0x11CECD08 ++ .long 0x11EFCD08 ++ .long 0x1210CD08 ++ lvx 25,3,7 ++ bdnz .Loop_xts_enc6x ++ ++ subic 5,5,96 ++ vxor 0,17,31 ++ .long 0x10E7C508 ++ .long 0x118CC508 ++ vsrab 11,8,9 ++ vxor 17,8,23 ++ vaddubm 8,8,8 ++ .long 0x11ADC508 ++ .long 0x11CEC508 ++ vsldoi 11,11,11,15 ++ .long 0x11EFC508 ++ .long 0x1210C508 ++ ++ subfe. 0,0,0 ++ vand 11,11,10 ++ .long 0x10E7CD08 ++ .long 0x118CCD08 ++ vxor 8,8,11 ++ .long 0x11ADCD08 ++ .long 0x11CECD08 ++ vxor 1,18,31 ++ vsrab 11,8,9 ++ vxor 18,8,23 ++ .long 0x11EFCD08 ++ .long 0x1210CD08 ++ ++ and 0,0,5 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x10E7D508 ++ .long 0x118CD508 ++ vand 11,11,10 ++ .long 0x11ADD508 ++ .long 0x11CED508 ++ vxor 8,8,11 ++ .long 0x11EFD508 ++ .long 0x1210D508 ++ ++ add 10,10,0 ++ ++ ++ ++ vxor 2,19,31 ++ vsrab 11,8,9 ++ vxor 19,8,23 ++ vaddubm 8,8,8 ++ .long 0x10E7DD08 ++ .long 0x118CDD08 ++ vsldoi 11,11,11,15 ++ .long 0x11ADDD08 ++ .long 0x11CEDD08 ++ vand 11,11,10 ++ .long 0x11EFDD08 ++ .long 0x1210DD08 ++ ++ addi 7,1,79 ++ vxor 8,8,11 ++ .long 0x10E7E508 ++ .long 0x118CE508 ++ vxor 3,20,31 ++ vsrab 11,8,9 ++ vxor 20,8,23 ++ .long 0x11ADE508 ++ .long 0x11CEE508 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x11EFE508 ++ .long 0x1210E508 ++ lvx 24,0,7 ++ vand 11,11,10 ++ ++ .long 0x10E7ED08 ++ .long 0x118CED08 ++ vxor 8,8,11 ++ .long 0x11ADED08 ++ .long 0x11CEED08 ++ vxor 4,21,31 ++ vsrab 11,8,9 ++ vxor 21,8,23 ++ .long 0x11EFED08 ++ .long 0x1210ED08 ++ lvx 25,3,7 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ ++ .long 0x10E7F508 ++ .long 0x118CF508 ++ vand 11,11,10 ++ .long 0x11ADF508 ++ .long 0x11CEF508 ++ vxor 8,8,11 ++ .long 0x11EFF508 ++ .long 0x1210F508 ++ vxor 5,22,31 ++ vsrab 11,8,9 ++ vxor 22,8,23 ++ ++ .long 0x10E70509 ++ .long 0x7C005699 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x118C0D09 ++ .long 0x7C235699 ++ .long 0x11AD1509 ++ vperm 0,0,0,6 ++ .long 0x7C5A5699 ++ vand 11,11,10 ++ .long 0x11CE1D09 ++ vperm 1,1,1,6 ++ .long 0x7C7B5699 ++ .long 0x11EF2509 ++ vperm 2,2,2,6 ++ .long 0x7C9C5699 ++ vxor 8,8,11 ++ .long 0x11702D09 ++ ++ vperm 3,3,3,6 ++ .long 0x7CBD5699 ++ addi 10,10,0x60 ++ vperm 4,4,4,6 ++ vperm 5,5,5,6 ++ ++ vperm 7,7,7,6 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,17 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vxor 12,1,18 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ vxor 13,2,19 ++ vperm 15,15,15,6 ++ .long 0x7DDB2799 ++ vxor 14,3,20 ++ vperm 16,11,11,6 ++ .long 0x7DFC2799 ++ vxor 15,4,21 ++ .long 0x7E1D2799 ++ ++ vxor 16,5,22 ++ addi 4,4,0x60 ++ ++ mtctr 9 ++ beq .Loop_xts_enc6x ++ ++ addic. 5,5,0x60 ++ beq .Lxts_enc6x_zero ++ cmpwi 5,0x20 ++ blt .Lxts_enc6x_one ++ nop ++ beq .Lxts_enc6x_two ++ cmpwi 5,0x40 ++ blt .Lxts_enc6x_three ++ nop ++ beq .Lxts_enc6x_four ++ ++.Lxts_enc6x_five: ++ vxor 7,1,17 ++ vxor 12,2,18 ++ vxor 13,3,19 ++ vxor 14,4,20 ++ vxor 15,5,21 ++ ++ bl _aesp8_xts_enc5x ++ ++ vperm 7,7,7,6 ++ vor 17,22,22 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ vxor 11,15,22 ++ vperm 15,15,15,6 ++ .long 0x7DDB2799 ++ .long 0x7DFC2799 ++ addi 4,4,0x50 ++ bne .Lxts_enc6x_steal ++ b .Lxts_enc6x_done ++ ++.align 4 ++.Lxts_enc6x_four: ++ vxor 7,2,17 ++ vxor 12,3,18 ++ vxor 13,4,19 ++ vxor 14,5,20 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_enc5x ++ ++ vperm 7,7,7,6 ++ vor 17,21,21 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vxor 11,14,21 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ .long 0x7DDB2799 ++ addi 4,4,0x40 ++ bne .Lxts_enc6x_steal ++ b .Lxts_enc6x_done ++ ++.align 4 ++.Lxts_enc6x_three: ++ vxor 7,3,17 ++ vxor 12,4,18 ++ vxor 13,5,19 ++ vxor 14,14,14 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_enc5x ++ ++ vperm 7,7,7,6 ++ vor 17,20,20 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 11,13,20 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ .long 0x7DBA2799 ++ addi 4,4,0x30 ++ bne .Lxts_enc6x_steal ++ b .Lxts_enc6x_done ++ ++.align 4 ++.Lxts_enc6x_two: ++ vxor 7,4,17 ++ vxor 12,5,18 ++ vxor 13,13,13 ++ vxor 14,14,14 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_enc5x ++ ++ vperm 7,7,7,6 ++ vor 17,19,19 ++ vxor 11,12,19 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ .long 0x7D832799 ++ addi 4,4,0x20 ++ bne .Lxts_enc6x_steal ++ b .Lxts_enc6x_done ++ ++.align 4 ++.Lxts_enc6x_one: ++ vxor 7,5,17 ++ nop ++.Loop_xts_enc1x: ++ .long 0x10E7C508 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD08 ++ lvx 25,3,7 ++ bdnz .Loop_xts_enc1x ++ ++ add 10,10,31 ++ cmpwi 31,0 ++ .long 0x10E7C508 ++ ++ subi 10,10,16 ++ .long 0x10E7CD08 ++ ++ lvsr 5,0,31 ++ .long 0x10E7D508 ++ ++ .long 0x7C005699 ++ .long 0x10E7DD08 ++ ++ addi 7,1,79 ++ .long 0x10E7E508 ++ lvx 24,0,7 ++ ++ .long 0x10E7ED08 ++ lvx 25,3,7 ++ vxor 17,17,31 ++ ++ vperm 0,0,0,6 ++ .long 0x10E7F508 ++ ++ vperm 0,0,0,5 ++ .long 0x10E78D09 ++ ++ vor 17,18,18 ++ vxor 11,7,18 ++ vperm 7,7,7,6 ++ .long 0x7CE02799 ++ addi 4,4,0x10 ++ bne .Lxts_enc6x_steal ++ b .Lxts_enc6x_done ++ ++.align 4 ++.Lxts_enc6x_zero: ++ cmpwi 31,0 ++ beq .Lxts_enc6x_done ++ ++ add 10,10,31 ++ subi 10,10,16 ++ .long 0x7C005699 ++ lvsr 5,0,31 ++ vperm 0,0,0,6 ++ vperm 0,0,0,5 ++ vxor 11,11,17 ++.Lxts_enc6x_steal: ++ vxor 0,0,17 ++ vxor 7,7,7 ++ vspltisb 12,-1 ++ vperm 7,7,12,5 ++ vsel 7,0,11,7 ++ ++ subi 30,4,17 ++ subi 4,4,16 ++ mtctr 31 ++.Loop_xts_enc6x_steal: ++ lbzu 0,1(30) ++ stb 0,16(30) ++ bdnz .Loop_xts_enc6x_steal ++ ++ li 31,0 ++ mtctr 9 ++ b .Loop_xts_enc1x ++ ++.align 4 ++.Lxts_enc6x_done: ++ cmpldi 8,0 ++ beq .Lxts_enc6x_ret ++ ++ vxor 8,17,23 ++ vperm 8,8,8,6 ++ .long 0x7D004799 ++ ++.Lxts_enc6x_ret: ++ mtlr 11 ++ li 10,79 ++ li 11,95 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ ++ or 12,12,12 ++ lvx 20,10,1 ++ addi 10,10,32 ++ lvx 21,11,1 ++ addi 11,11,32 ++ lvx 22,10,1 ++ addi 10,10,32 ++ lvx 23,11,1 ++ addi 11,11,32 ++ lvx 24,10,1 ++ addi 10,10,32 ++ lvx 25,11,1 ++ addi 11,11,32 ++ lvx 26,10,1 ++ addi 10,10,32 ++ lvx 27,11,1 ++ addi 11,11,32 ++ lvx 28,10,1 ++ addi 10,10,32 ++ lvx 29,11,1 ++ addi 11,11,32 ++ lvx 30,10,1 ++ lvx 31,11,1 ++ ld 26,400(1) ++ ld 27,408(1) ++ ld 28,416(1) ++ ld 29,424(1) ++ ld 30,432(1) ++ ld 31,440(1) ++ addi 1,1,448 ++ blr ++.long 0 ++.byte 0,12,0x04,1,0x80,6,6,0 ++.long 0 ++ ++.align 5 ++_aesp8_xts_enc5x: ++ .long 0x10E7C508 ++ .long 0x118CC508 ++ .long 0x11ADC508 ++ .long 0x11CEC508 ++ .long 0x11EFC508 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD08 ++ .long 0x118CCD08 ++ .long 0x11ADCD08 ++ .long 0x11CECD08 ++ .long 0x11EFCD08 ++ lvx 25,3,7 ++ bdnz _aesp8_xts_enc5x ++ ++ add 10,10,31 ++ cmpwi 31,0 ++ .long 0x10E7C508 ++ .long 0x118CC508 ++ .long 0x11ADC508 ++ .long 0x11CEC508 ++ .long 0x11EFC508 ++ ++ subi 10,10,16 ++ .long 0x10E7CD08 ++ .long 0x118CCD08 ++ .long 0x11ADCD08 ++ .long 0x11CECD08 ++ .long 0x11EFCD08 ++ vxor 17,17,31 ++ ++ .long 0x10E7D508 ++ lvsr 5,0,31 ++ .long 0x118CD508 ++ .long 0x11ADD508 ++ .long 0x11CED508 ++ .long 0x11EFD508 ++ vxor 1,18,31 ++ ++ .long 0x10E7DD08 ++ .long 0x7C005699 ++ .long 0x118CDD08 ++ .long 0x11ADDD08 ++ .long 0x11CEDD08 ++ .long 0x11EFDD08 ++ vxor 2,19,31 ++ ++ addi 7,1,79 ++ .long 0x10E7E508 ++ .long 0x118CE508 ++ .long 0x11ADE508 ++ .long 0x11CEE508 ++ .long 0x11EFE508 ++ lvx 24,0,7 ++ vxor 3,20,31 ++ ++ .long 0x10E7ED08 ++ vperm 0,0,0,6 ++ .long 0x118CED08 ++ .long 0x11ADED08 ++ .long 0x11CEED08 ++ .long 0x11EFED08 ++ lvx 25,3,7 ++ vxor 4,21,31 ++ ++ .long 0x10E7F508 ++ vperm 0,0,0,5 ++ .long 0x118CF508 ++ .long 0x11ADF508 ++ .long 0x11CEF508 ++ .long 0x11EFF508 ++ ++ .long 0x10E78D09 ++ .long 0x118C0D09 ++ .long 0x11AD1509 ++ .long 0x11CE1D09 ++ .long 0x11EF2509 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,0,0 ++ ++.align 5 ++_aesp8_xts_decrypt6x: ++ stdu 1,-448(1) ++ mflr 11 ++ li 7,207 ++ li 3,223 ++ std 11,464(1) ++ stvx 20,7,1 ++ addi 7,7,32 ++ stvx 21,3,1 ++ addi 3,3,32 ++ stvx 22,7,1 ++ addi 7,7,32 ++ stvx 23,3,1 ++ addi 3,3,32 ++ stvx 24,7,1 ++ addi 7,7,32 ++ stvx 25,3,1 ++ addi 3,3,32 ++ stvx 26,7,1 ++ addi 7,7,32 ++ stvx 27,3,1 ++ addi 3,3,32 ++ stvx 28,7,1 ++ addi 7,7,32 ++ stvx 29,3,1 ++ addi 3,3,32 ++ stvx 30,7,1 ++ stvx 31,3,1 ++ li 0,-1 ++ stw 12,396(1) ++ li 3,0x10 ++ std 26,400(1) ++ li 26,0x20 ++ std 27,408(1) ++ li 27,0x30 ++ std 28,416(1) ++ li 28,0x40 ++ std 29,424(1) ++ li 29,0x50 ++ std 30,432(1) ++ li 30,0x60 ++ std 31,440(1) ++ li 31,0x70 ++ or 0,0,0 ++ ++ subi 9,9,3 ++ ++ lvx 23,0,6 ++ lvx 30,3,6 ++ addi 6,6,0x20 ++ lvx 31,0,6 ++ vperm 23,30,23,7 ++ addi 7,1,79 ++ mtctr 9 ++ ++.Load_xts_dec_key: ++ vperm 24,31,30,7 ++ lvx 30,3,6 ++ addi 6,6,0x20 ++ stvx 24,0,7 ++ vperm 25,30,31,7 ++ lvx 31,0,6 ++ stvx 25,3,7 ++ addi 7,7,0x20 ++ bdnz .Load_xts_dec_key ++ ++ lvx 26,3,6 ++ vperm 24,31,30,7 ++ lvx 27,26,6 ++ stvx 24,0,7 ++ vperm 25,26,31,7 ++ lvx 28,27,6 ++ stvx 25,3,7 ++ addi 7,1,79 ++ vperm 26,27,26,7 ++ lvx 29,28,6 ++ vperm 27,28,27,7 ++ lvx 30,29,6 ++ vperm 28,29,28,7 ++ lvx 31,30,6 ++ vperm 29,30,29,7 ++ lvx 22,31,6 ++ vperm 30,31,30,7 ++ lvx 24,0,7 ++ vperm 31,22,31,7 ++ lvx 25,3,7 ++ ++ vperm 0,2,4,5 ++ subi 10,10,31 ++ vxor 17,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vand 11,11,10 ++ vxor 7,0,17 ++ vxor 8,8,11 ++ ++ .long 0x7C235699 ++ vxor 18,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 1,1,1,6 ++ vand 11,11,10 ++ vxor 12,1,18 ++ vxor 8,8,11 ++ ++ .long 0x7C5A5699 ++ andi. 31,5,15 ++ vxor 19,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 2,2,2,6 ++ vand 11,11,10 ++ vxor 13,2,19 ++ vxor 8,8,11 ++ ++ .long 0x7C7B5699 ++ sub 5,5,31 ++ vxor 20,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 3,3,3,6 ++ vand 11,11,10 ++ vxor 14,3,20 ++ vxor 8,8,11 ++ ++ .long 0x7C9C5699 ++ subi 5,5,0x60 ++ vxor 21,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 4,4,4,6 ++ vand 11,11,10 ++ vxor 15,4,21 ++ vxor 8,8,11 ++ ++ .long 0x7CBD5699 ++ addi 10,10,0x60 ++ vxor 22,8,23 ++ vsrab 11,8,9 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ vperm 5,5,5,6 ++ vand 11,11,10 ++ vxor 16,5,22 ++ vxor 8,8,11 ++ ++ vxor 31,31,23 ++ mtctr 9 ++ b .Loop_xts_dec6x ++ ++.align 5 ++.Loop_xts_dec6x: ++ .long 0x10E7C548 ++ .long 0x118CC548 ++ .long 0x11ADC548 ++ .long 0x11CEC548 ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD48 ++ .long 0x118CCD48 ++ .long 0x11ADCD48 ++ .long 0x11CECD48 ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ lvx 25,3,7 ++ bdnz .Loop_xts_dec6x ++ ++ subic 5,5,96 ++ vxor 0,17,31 ++ .long 0x10E7C548 ++ .long 0x118CC548 ++ vsrab 11,8,9 ++ vxor 17,8,23 ++ vaddubm 8,8,8 ++ .long 0x11ADC548 ++ .long 0x11CEC548 ++ vsldoi 11,11,11,15 ++ .long 0x11EFC548 ++ .long 0x1210C548 ++ ++ subfe. 0,0,0 ++ vand 11,11,10 ++ .long 0x10E7CD48 ++ .long 0x118CCD48 ++ vxor 8,8,11 ++ .long 0x11ADCD48 ++ .long 0x11CECD48 ++ vxor 1,18,31 ++ vsrab 11,8,9 ++ vxor 18,8,23 ++ .long 0x11EFCD48 ++ .long 0x1210CD48 ++ ++ and 0,0,5 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x10E7D548 ++ .long 0x118CD548 ++ vand 11,11,10 ++ .long 0x11ADD548 ++ .long 0x11CED548 ++ vxor 8,8,11 ++ .long 0x11EFD548 ++ .long 0x1210D548 ++ ++ add 10,10,0 ++ ++ ++ ++ vxor 2,19,31 ++ vsrab 11,8,9 ++ vxor 19,8,23 ++ vaddubm 8,8,8 ++ .long 0x10E7DD48 ++ .long 0x118CDD48 ++ vsldoi 11,11,11,15 ++ .long 0x11ADDD48 ++ .long 0x11CEDD48 ++ vand 11,11,10 ++ .long 0x11EFDD48 ++ .long 0x1210DD48 ++ ++ addi 7,1,79 ++ vxor 8,8,11 ++ .long 0x10E7E548 ++ .long 0x118CE548 ++ vxor 3,20,31 ++ vsrab 11,8,9 ++ vxor 20,8,23 ++ .long 0x11ADE548 ++ .long 0x11CEE548 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x11EFE548 ++ .long 0x1210E548 ++ lvx 24,0,7 ++ vand 11,11,10 ++ ++ .long 0x10E7ED48 ++ .long 0x118CED48 ++ vxor 8,8,11 ++ .long 0x11ADED48 ++ .long 0x11CEED48 ++ vxor 4,21,31 ++ vsrab 11,8,9 ++ vxor 21,8,23 ++ .long 0x11EFED48 ++ .long 0x1210ED48 ++ lvx 25,3,7 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ ++ .long 0x10E7F548 ++ .long 0x118CF548 ++ vand 11,11,10 ++ .long 0x11ADF548 ++ .long 0x11CEF548 ++ vxor 8,8,11 ++ .long 0x11EFF548 ++ .long 0x1210F548 ++ vxor 5,22,31 ++ vsrab 11,8,9 ++ vxor 22,8,23 ++ ++ .long 0x10E70549 ++ .long 0x7C005699 ++ vaddubm 8,8,8 ++ vsldoi 11,11,11,15 ++ .long 0x118C0D49 ++ .long 0x7C235699 ++ .long 0x11AD1549 ++ vperm 0,0,0,6 ++ .long 0x7C5A5699 ++ vand 11,11,10 ++ .long 0x11CE1D49 ++ vperm 1,1,1,6 ++ .long 0x7C7B5699 ++ .long 0x11EF2549 ++ vperm 2,2,2,6 ++ .long 0x7C9C5699 ++ vxor 8,8,11 ++ .long 0x12102D49 ++ vperm 3,3,3,6 ++ .long 0x7CBD5699 ++ addi 10,10,0x60 ++ vperm 4,4,4,6 ++ vperm 5,5,5,6 ++ ++ vperm 7,7,7,6 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,17 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vxor 12,1,18 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ vxor 13,2,19 ++ vperm 15,15,15,6 ++ .long 0x7DDB2799 ++ vxor 14,3,20 ++ vperm 16,16,16,6 ++ .long 0x7DFC2799 ++ vxor 15,4,21 ++ .long 0x7E1D2799 ++ vxor 16,5,22 ++ addi 4,4,0x60 ++ ++ mtctr 9 ++ beq .Loop_xts_dec6x ++ ++ addic. 5,5,0x60 ++ beq .Lxts_dec6x_zero ++ cmpwi 5,0x20 ++ blt .Lxts_dec6x_one ++ nop ++ beq .Lxts_dec6x_two ++ cmpwi 5,0x40 ++ blt .Lxts_dec6x_three ++ nop ++ beq .Lxts_dec6x_four ++ ++.Lxts_dec6x_five: ++ vxor 7,1,17 ++ vxor 12,2,18 ++ vxor 13,3,19 ++ vxor 14,4,20 ++ vxor 15,5,21 ++ ++ bl _aesp8_xts_dec5x ++ ++ vperm 7,7,7,6 ++ vor 17,22,22 ++ vxor 18,8,23 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,18 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ vperm 15,15,15,6 ++ .long 0x7DDB2799 ++ .long 0x7DFC2799 ++ addi 4,4,0x50 ++ bne .Lxts_dec6x_steal ++ b .Lxts_dec6x_done ++ ++.align 4 ++.Lxts_dec6x_four: ++ vxor 7,2,17 ++ vxor 12,3,18 ++ vxor 13,4,19 ++ vxor 14,5,20 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_dec5x ++ ++ vperm 7,7,7,6 ++ vor 17,21,21 ++ vor 18,22,22 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,22 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ vperm 14,14,14,6 ++ .long 0x7DBA2799 ++ .long 0x7DDB2799 ++ addi 4,4,0x40 ++ bne .Lxts_dec6x_steal ++ b .Lxts_dec6x_done ++ ++.align 4 ++.Lxts_dec6x_three: ++ vxor 7,3,17 ++ vxor 12,4,18 ++ vxor 13,5,19 ++ vxor 14,14,14 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_dec5x ++ ++ vperm 7,7,7,6 ++ vor 17,20,20 ++ vor 18,21,21 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,21 ++ vperm 13,13,13,6 ++ .long 0x7D832799 ++ .long 0x7DBA2799 ++ addi 4,4,0x30 ++ bne .Lxts_dec6x_steal ++ b .Lxts_dec6x_done ++ ++.align 4 ++.Lxts_dec6x_two: ++ vxor 7,4,17 ++ vxor 12,5,18 ++ vxor 13,13,13 ++ vxor 14,14,14 ++ vxor 15,15,15 ++ ++ bl _aesp8_xts_dec5x ++ ++ vperm 7,7,7,6 ++ vor 17,19,19 ++ vor 18,20,20 ++ vperm 12,12,12,6 ++ .long 0x7CE02799 ++ vxor 7,0,20 ++ .long 0x7D832799 ++ addi 4,4,0x20 ++ bne .Lxts_dec6x_steal ++ b .Lxts_dec6x_done ++ ++.align 4 ++.Lxts_dec6x_one: ++ vxor 7,5,17 ++ nop ++.Loop_xts_dec1x: ++ .long 0x10E7C548 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD48 ++ lvx 25,3,7 ++ bdnz .Loop_xts_dec1x ++ ++ subi 0,31,1 ++ .long 0x10E7C548 ++ ++ andi. 0,0,16 ++ cmpwi 31,0 ++ .long 0x10E7CD48 ++ ++ sub 10,10,0 ++ .long 0x10E7D548 ++ ++ .long 0x7C005699 ++ .long 0x10E7DD48 ++ ++ addi 7,1,79 ++ .long 0x10E7E548 ++ lvx 24,0,7 ++ ++ .long 0x10E7ED48 ++ lvx 25,3,7 ++ vxor 17,17,31 ++ ++ vperm 0,0,0,6 ++ .long 0x10E7F548 ++ ++ mtctr 9 ++ .long 0x10E78D49 ++ ++ vor 17,18,18 ++ vor 18,19,19 ++ vperm 7,7,7,6 ++ .long 0x7CE02799 ++ addi 4,4,0x10 ++ vxor 7,0,19 ++ bne .Lxts_dec6x_steal ++ b .Lxts_dec6x_done ++ ++.align 4 ++.Lxts_dec6x_zero: ++ cmpwi 31,0 ++ beq .Lxts_dec6x_done ++ ++ .long 0x7C005699 ++ vperm 0,0,0,6 ++ vxor 7,0,18 ++.Lxts_dec6x_steal: ++ .long 0x10E7C548 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD48 ++ lvx 25,3,7 ++ bdnz .Lxts_dec6x_steal ++ ++ add 10,10,31 ++ .long 0x10E7C548 ++ ++ cmpwi 31,0 ++ .long 0x10E7CD48 ++ ++ .long 0x7C005699 ++ .long 0x10E7D548 ++ ++ lvsr 5,0,31 ++ .long 0x10E7DD48 ++ ++ addi 7,1,79 ++ .long 0x10E7E548 ++ lvx 24,0,7 ++ ++ .long 0x10E7ED48 ++ lvx 25,3,7 ++ vxor 18,18,31 ++ ++ vperm 0,0,0,6 ++ .long 0x10E7F548 ++ ++ vperm 0,0,0,5 ++ .long 0x11679549 ++ ++ vperm 7,11,11,6 ++ .long 0x7CE02799 ++ ++ ++ vxor 7,7,7 ++ vspltisb 12,-1 ++ vperm 7,7,12,5 ++ vsel 7,0,11,7 ++ vxor 7,7,17 ++ ++ subi 30,4,1 ++ mtctr 31 ++.Loop_xts_dec6x_steal: ++ lbzu 0,1(30) ++ stb 0,16(30) ++ bdnz .Loop_xts_dec6x_steal ++ ++ li 31,0 ++ mtctr 9 ++ b .Loop_xts_dec1x ++ ++.align 4 ++.Lxts_dec6x_done: ++ cmpldi 8,0 ++ beq .Lxts_dec6x_ret ++ ++ vxor 8,17,23 ++ vperm 8,8,8,6 ++ .long 0x7D004799 ++ ++.Lxts_dec6x_ret: ++ mtlr 11 ++ li 10,79 ++ li 11,95 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ stvx 9,10,1 ++ addi 10,10,32 ++ stvx 9,11,1 ++ addi 11,11,32 ++ ++ or 12,12,12 ++ lvx 20,10,1 ++ addi 10,10,32 ++ lvx 21,11,1 ++ addi 11,11,32 ++ lvx 22,10,1 ++ addi 10,10,32 ++ lvx 23,11,1 ++ addi 11,11,32 ++ lvx 24,10,1 ++ addi 10,10,32 ++ lvx 25,11,1 ++ addi 11,11,32 ++ lvx 26,10,1 ++ addi 10,10,32 ++ lvx 27,11,1 ++ addi 11,11,32 ++ lvx 28,10,1 ++ addi 10,10,32 ++ lvx 29,11,1 ++ addi 11,11,32 ++ lvx 30,10,1 ++ lvx 31,11,1 ++ ld 26,400(1) ++ ld 27,408(1) ++ ld 28,416(1) ++ ld 29,424(1) ++ ld 30,432(1) ++ ld 31,440(1) ++ addi 1,1,448 ++ blr ++.long 0 ++.byte 0,12,0x04,1,0x80,6,6,0 ++.long 0 ++ ++.align 5 ++_aesp8_xts_dec5x: ++ .long 0x10E7C548 ++ .long 0x118CC548 ++ .long 0x11ADC548 ++ .long 0x11CEC548 ++ .long 0x11EFC548 ++ lvx 24,26,7 ++ addi 7,7,0x20 ++ ++ .long 0x10E7CD48 ++ .long 0x118CCD48 ++ .long 0x11ADCD48 ++ .long 0x11CECD48 ++ .long 0x11EFCD48 ++ lvx 25,3,7 ++ bdnz _aesp8_xts_dec5x ++ ++ subi 0,31,1 ++ .long 0x10E7C548 ++ .long 0x118CC548 ++ .long 0x11ADC548 ++ .long 0x11CEC548 ++ .long 0x11EFC548 ++ ++ andi. 0,0,16 ++ cmpwi 31,0 ++ .long 0x10E7CD48 ++ .long 0x118CCD48 ++ .long 0x11ADCD48 ++ .long 0x11CECD48 ++ .long 0x11EFCD48 ++ vxor 17,17,31 ++ ++ sub 10,10,0 ++ .long 0x10E7D548 ++ .long 0x118CD548 ++ .long 0x11ADD548 ++ .long 0x11CED548 ++ .long 0x11EFD548 ++ vxor 1,18,31 ++ ++ .long 0x10E7DD48 ++ .long 0x7C005699 ++ .long 0x118CDD48 ++ .long 0x11ADDD48 ++ .long 0x11CEDD48 ++ .long 0x11EFDD48 ++ vxor 2,19,31 ++ ++ addi 7,1,79 ++ .long 0x10E7E548 ++ .long 0x118CE548 ++ .long 0x11ADE548 ++ .long 0x11CEE548 ++ .long 0x11EFE548 ++ lvx 24,0,7 ++ vxor 3,20,31 ++ ++ .long 0x10E7ED48 ++ vperm 0,0,0,6 ++ .long 0x118CED48 ++ .long 0x11ADED48 ++ .long 0x11CEED48 ++ .long 0x11EFED48 ++ lvx 25,3,7 ++ vxor 4,21,31 ++ ++ .long 0x10E7F548 ++ .long 0x118CF548 ++ .long 0x11ADF548 ++ .long 0x11CEF548 ++ .long 0x11EFF548 ++ ++ .long 0x10E78D49 ++ .long 0x118C0D49 ++ .long 0x11AD1549 ++ .long 0x11CE1D49 ++ .long 0x11EF2549 ++ mtctr 9 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,0,0 ++#endif // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__ ++#if defined(__ELF__) ++// See https://www.airs.ccom/blog/archives/518. ++.section .note.GNU-stack,"",%progbits ++#endif +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S +@@ -0,0 +1,590 @@ ++// This file is generated from a similarly-named Perl script in the BoringSSL ++// source tree. Do not edit by hand. ++ ++#if defined(__has_feature) ++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) ++#define OPENSSL_NO_ASM ++#endif ++#endif ++ ++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__) ++.machine "any" ++ ++.abiversion 2 ++.text ++ ++.globl gcm_init_p8 ++.type gcm_init_p8,@function ++.align 5 ++gcm_init_p8: ++.localentry gcm_init_p8,0 ++ ++ li 0,-4096 ++ li 8,0x10 ++ li 12,-1 ++ li 9,0x20 ++ or 0,0,0 ++ li 10,0x30 ++ .long 0x7D202699 ++ ++ vspltisb 8,-16 ++ vspltisb 5,1 ++ vaddubm 8,8,8 ++ vxor 4,4,4 ++ vor 8,8,5 ++ vsldoi 8,8,4,15 ++ vsldoi 6,4,5,1 ++ vaddubm 8,8,8 ++ vspltisb 7,7 ++ vor 8,8,6 ++ vspltb 6,9,0 ++ vsl 9,9,5 ++ vsrab 6,6,7 ++ vand 6,6,8 ++ vxor 3,9,6 ++ ++ vsldoi 9,3,3,8 ++ vsldoi 8,4,8,8 ++ vsldoi 11,4,9,8 ++ vsldoi 10,9,4,8 ++ ++ .long 0x7D001F99 ++ .long 0x7D681F99 ++ li 8,0x40 ++ .long 0x7D291F99 ++ li 9,0x50 ++ .long 0x7D4A1F99 ++ li 10,0x60 ++ ++ .long 0x10035CC8 ++ .long 0x10234CC8 ++ .long 0x104354C8 ++ ++ .long 0x10E044C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ ++ vsldoi 6,0,0,8 ++ .long 0x100044C8 ++ vxor 6,6,2 ++ vxor 16,0,6 ++ ++ vsldoi 17,16,16,8 ++ vsldoi 19,4,17,8 ++ vsldoi 18,17,4,8 ++ ++ .long 0x7E681F99 ++ li 8,0x70 ++ .long 0x7E291F99 ++ li 9,0x80 ++ .long 0x7E4A1F99 ++ li 10,0x90 ++ .long 0x10039CC8 ++ .long 0x11B09CC8 ++ .long 0x10238CC8 ++ .long 0x11D08CC8 ++ .long 0x104394C8 ++ .long 0x11F094C8 ++ ++ .long 0x10E044C8 ++ .long 0x114D44C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vsldoi 11,14,4,8 ++ vsldoi 9,4,14,8 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ vxor 13,13,11 ++ vxor 15,15,9 ++ ++ vsldoi 0,0,0,8 ++ vsldoi 13,13,13,8 ++ vxor 0,0,7 ++ vxor 13,13,10 ++ ++ vsldoi 6,0,0,8 ++ vsldoi 9,13,13,8 ++ .long 0x100044C8 ++ .long 0x11AD44C8 ++ vxor 6,6,2 ++ vxor 9,9,15 ++ vxor 0,0,6 ++ vxor 13,13,9 ++ ++ vsldoi 9,0,0,8 ++ vsldoi 17,13,13,8 ++ vsldoi 11,4,9,8 ++ vsldoi 10,9,4,8 ++ vsldoi 19,4,17,8 ++ vsldoi 18,17,4,8 ++ ++ .long 0x7D681F99 ++ li 8,0xa0 ++ .long 0x7D291F99 ++ li 9,0xb0 ++ .long 0x7D4A1F99 ++ li 10,0xc0 ++ .long 0x7E681F99 ++ .long 0x7E291F99 ++ .long 0x7E4A1F99 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,2,0 ++.long 0 ++.size gcm_init_p8,.-gcm_init_p8 ++.globl gcm_gmult_p8 ++.type gcm_gmult_p8,@function ++.align 5 ++gcm_gmult_p8: ++.localentry gcm_gmult_p8,0 ++ ++ lis 0,0xfff8 ++ li 8,0x10 ++ li 12,-1 ++ li 9,0x20 ++ or 0,0,0 ++ li 10,0x30 ++ .long 0x7C601E99 ++ ++ .long 0x7D682699 ++ lvsl 12,0,0 ++ .long 0x7D292699 ++ vspltisb 5,0x07 ++ .long 0x7D4A2699 ++ vxor 12,12,5 ++ .long 0x7D002699 ++ vperm 3,3,3,12 ++ vxor 4,4,4 ++ ++ .long 0x10035CC8 ++ .long 0x10234CC8 ++ .long 0x104354C8 ++ ++ .long 0x10E044C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ ++ vsldoi 6,0,0,8 ++ .long 0x100044C8 ++ vxor 6,6,2 ++ vxor 0,0,6 ++ ++ vperm 0,0,0,12 ++ .long 0x7C001F99 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,2,0 ++.long 0 ++.size gcm_gmult_p8,.-gcm_gmult_p8 ++ ++.globl gcm_ghash_p8 ++.type gcm_ghash_p8,@function ++.align 5 ++gcm_ghash_p8: ++.localentry gcm_ghash_p8,0 ++ ++ li 0,-4096 ++ li 8,0x10 ++ li 12,-1 ++ li 9,0x20 ++ or 0,0,0 ++ li 10,0x30 ++ .long 0x7C001E99 ++ ++ .long 0x7D682699 ++ li 8,0x40 ++ lvsl 12,0,0 ++ .long 0x7D292699 ++ li 9,0x50 ++ vspltisb 5,0x07 ++ .long 0x7D4A2699 ++ li 10,0x60 ++ vxor 12,12,5 ++ .long 0x7D002699 ++ vperm 0,0,0,12 ++ vxor 4,4,4 ++ ++ cmpldi 6,64 ++ bge .Lgcm_ghash_p8_4x ++ ++ .long 0x7C602E99 ++ addi 5,5,16 ++ subic. 6,6,16 ++ vperm 3,3,3,12 ++ vxor 3,3,0 ++ beq .Lshort ++ ++ .long 0x7E682699 ++ li 8,16 ++ .long 0x7E292699 ++ add 9,5,6 ++ .long 0x7E4A2699 ++ ++ ++.align 5 ++.Loop_2x: ++ .long 0x7E002E99 ++ vperm 16,16,16,12 ++ ++ subic 6,6,32 ++ .long 0x10039CC8 ++ .long 0x11B05CC8 ++ subfe 0,0,0 ++ .long 0x10238CC8 ++ .long 0x11D04CC8 ++ and 0,0,6 ++ .long 0x104394C8 ++ .long 0x11F054C8 ++ add 5,5,0 ++ ++ vxor 0,0,13 ++ vxor 1,1,14 ++ ++ .long 0x10E044C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 2,2,15 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ .long 0x7C682E99 ++ addi 5,5,32 ++ ++ vsldoi 6,0,0,8 ++ .long 0x100044C8 ++ vperm 3,3,3,12 ++ vxor 6,6,2 ++ vxor 3,3,6 ++ vxor 3,3,0 ++ cmpld 9,5 ++ bgt .Loop_2x ++ ++ cmplwi 6,0 ++ bne .Leven ++ ++.Lshort: ++ .long 0x10035CC8 ++ .long 0x10234CC8 ++ .long 0x104354C8 ++ ++ .long 0x10E044C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ ++ vsldoi 6,0,0,8 ++ .long 0x100044C8 ++ vxor 6,6,2 ++ ++.Leven: ++ vxor 0,0,6 ++ vperm 0,0,0,12 ++ .long 0x7C001F99 ++ ++ or 12,12,12 ++ blr ++.long 0 ++.byte 0,12,0x14,0,0,0,4,0 ++.long 0 ++.align 5 ++.gcm_ghash_p8_4x: ++.Lgcm_ghash_p8_4x: ++ stdu 1,-256(1) ++ li 10,63 ++ li 11,79 ++ stvx 20,10,1 ++ addi 10,10,32 ++ stvx 21,11,1 ++ addi 11,11,32 ++ stvx 22,10,1 ++ addi 10,10,32 ++ stvx 23,11,1 ++ addi 11,11,32 ++ stvx 24,10,1 ++ addi 10,10,32 ++ stvx 25,11,1 ++ addi 11,11,32 ++ stvx 26,10,1 ++ addi 10,10,32 ++ stvx 27,11,1 ++ addi 11,11,32 ++ stvx 28,10,1 ++ addi 10,10,32 ++ stvx 29,11,1 ++ addi 11,11,32 ++ stvx 30,10,1 ++ li 10,0x60 ++ stvx 31,11,1 ++ li 0,-1 ++ stw 12,252(1) ++ or 0,0,0 ++ ++ lvsl 5,0,8 ++ ++ li 8,0x70 ++ .long 0x7E292699 ++ li 9,0x80 ++ vspltisb 6,8 ++ ++ li 10,0x90 ++ .long 0x7EE82699 ++ li 8,0xa0 ++ .long 0x7F092699 ++ li 9,0xb0 ++ .long 0x7F2A2699 ++ li 10,0xc0 ++ .long 0x7FA82699 ++ li 8,0x10 ++ .long 0x7FC92699 ++ li 9,0x20 ++ .long 0x7FEA2699 ++ li 10,0x30 ++ ++ vsldoi 7,4,6,8 ++ vaddubm 18,5,7 ++ vaddubm 19,6,18 ++ ++ srdi 6,6,4 ++ ++ .long 0x7C602E99 ++ .long 0x7E082E99 ++ subic. 6,6,8 ++ .long 0x7EC92E99 ++ .long 0x7F8A2E99 ++ addi 5,5,0x40 ++ vperm 3,3,3,12 ++ vperm 16,16,16,12 ++ vperm 22,22,22,12 ++ vperm 28,28,28,12 ++ ++ vxor 2,3,0 ++ ++ .long 0x11B0BCC8 ++ .long 0x11D0C4C8 ++ .long 0x11F0CCC8 ++ ++ vperm 11,17,9,18 ++ vperm 5,22,28,19 ++ vperm 10,17,9,19 ++ vperm 6,22,28,18 ++ .long 0x12B68CC8 ++ .long 0x12855CC8 ++ .long 0x137C4CC8 ++ .long 0x134654C8 ++ ++ vxor 21,21,14 ++ vxor 20,20,13 ++ vxor 27,27,21 ++ vxor 26,26,15 ++ ++ blt .Ltail_4x ++ ++.Loop_4x: ++ .long 0x7C602E99 ++ .long 0x7E082E99 ++ subic. 6,6,4 ++ .long 0x7EC92E99 ++ .long 0x7F8A2E99 ++ addi 5,5,0x40 ++ vperm 16,16,16,12 ++ vperm 22,22,22,12 ++ vperm 28,28,28,12 ++ vperm 3,3,3,12 ++ ++ .long 0x1002ECC8 ++ .long 0x1022F4C8 ++ .long 0x1042FCC8 ++ .long 0x11B0BCC8 ++ .long 0x11D0C4C8 ++ .long 0x11F0CCC8 ++ ++ vxor 0,0,20 ++ vxor 1,1,27 ++ vxor 2,2,26 ++ vperm 5,22,28,19 ++ vperm 6,22,28,18 ++ ++ .long 0x10E044C8 ++ .long 0x12855CC8 ++ .long 0x134654C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ ++ vsldoi 6,0,0,8 ++ .long 0x12B68CC8 ++ .long 0x137C4CC8 ++ .long 0x100044C8 ++ ++ vxor 20,20,13 ++ vxor 26,26,15 ++ vxor 2,2,3 ++ vxor 21,21,14 ++ vxor 2,2,6 ++ vxor 27,27,21 ++ vxor 2,2,0 ++ bge .Loop_4x ++ ++.Ltail_4x: ++ .long 0x1002ECC8 ++ .long 0x1022F4C8 ++ .long 0x1042FCC8 ++ ++ vxor 0,0,20 ++ vxor 1,1,27 ++ ++ .long 0x10E044C8 ++ ++ vsldoi 5,1,4,8 ++ vsldoi 6,4,1,8 ++ vxor 2,2,26 ++ vxor 0,0,5 ++ vxor 2,2,6 ++ ++ vsldoi 0,0,0,8 ++ vxor 0,0,7 ++ ++ vsldoi 6,0,0,8 ++ .long 0x100044C8 ++ vxor 6,6,2 ++ vxor 0,0,6 ++ ++ addic. 6,6,4 ++ beq .Ldone_4x ++ ++ .long 0x7C602E99 ++ cmpldi 6,2 ++ li 6,-4 ++ blt .Lone ++ .long 0x7E082E99 ++ beq .Ltwo ++ ++.Lthree: ++ .long 0x7EC92E99 ++ vperm 3,3,3,12 ++ vperm 16,16,16,12 ++ vperm 22,22,22,12 ++ ++ vxor 2,3,0 ++ vor 29,23,23 ++ vor 30, 24, 24 ++ vor 31,25,25 ++ ++ vperm 5,16,22,19 ++ vperm 6,16,22,18 ++ .long 0x12B08CC8 ++ .long 0x13764CC8 ++ .long 0x12855CC8 ++ .long 0x134654C8 ++ ++ vxor 27,27,21 ++ b .Ltail_4x ++ ++.align 4 ++.Ltwo: ++ vperm 3,3,3,12 ++ vperm 16,16,16,12 ++ ++ vxor 2,3,0 ++ vperm 5,4,16,19 ++ vperm 6,4,16,18 ++ ++ vsldoi 29,4,17,8 ++ vor 30, 17, 17 ++ vsldoi 31,17,4,8 ++ ++ .long 0x12855CC8 ++ .long 0x13704CC8 ++ .long 0x134654C8 ++ ++ b .Ltail_4x ++ ++.align 4 ++.Lone: ++ vperm 3,3,3,12 ++ ++ vsldoi 29,4,9,8 ++ vor 30, 9, 9 ++ vsldoi 31,9,4,8 ++ ++ vxor 2,3,0 ++ vxor 20,20,20 ++ vxor 27,27,27 ++ vxor 26,26,26 ++ ++ b .Ltail_4x ++ ++.Ldone_4x: ++ vperm 0,0,0,12 ++ .long 0x7C001F99 ++ ++ li 10,63 ++ li 11,79 ++ or 12,12,12 ++ lvx 20,10,1 ++ addi 10,10,32 ++ lvx 21,11,1 ++ addi 11,11,32 ++ lvx 22,10,1 ++ addi 10,10,32 ++ lvx 23,11,1 ++ addi 11,11,32 ++ lvx 24,10,1 ++ addi 10,10,32 ++ lvx 25,11,1 ++ addi 11,11,32 ++ lvx 26,10,1 ++ addi 10,10,32 ++ lvx 27,11,1 ++ addi 11,11,32 ++ lvx 28,10,1 ++ addi 10,10,32 ++ lvx 29,11,1 ++ addi 11,11,32 ++ lvx 30,10,1 ++ lvx 31,11,1 ++ addi 1,1,256 ++ blr ++.long 0 ++.byte 0,12,0x04,0,0x80,0,4,0 ++.long 0 ++.size gcm_ghash_p8,.-gcm_ghash_p8 ++ ++.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 ++.align 2 ++.align 2 ++#endif // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__ ++#if defined(__ELF__) ++// See https://www.airs.ccom/blog/archives/518. ++.section .note.GNU-stack,"",%progbits ++#endif +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.cmake ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake +@@ -122,6 +122,7 @@ set( + gen/bcm/aesni-x86-linux.S + gen/bcm/aesni-x86_64-apple.S + gen/bcm/aesni-x86_64-linux.S ++ gen/bcm/aesp8-ppc-linux.S + gen/bcm/aesv8-armv7-linux.S + gen/bcm/aesv8-armv8-apple.S + gen/bcm/aesv8-armv8-linux.S +@@ -153,6 +154,7 @@ set( + gen/bcm/ghash-x86-linux.S + gen/bcm/ghash-x86_64-apple.S + gen/bcm/ghash-x86_64-linux.S ++ gen/bcm/ghashp8-ppc-linux.S + gen/bcm/ghashv8-armv7-linux.S + gen/bcm/ghashv8-armv8-apple.S + gen/bcm/ghashv8-armv8-linux.S +@@ -352,6 +354,7 @@ set( + crypto/cpu_arm_freebsd.cc + crypto/cpu_arm_linux.cc + crypto/cpu_intel.cc ++ crypto/cpu_ppc64le.cc + crypto/crypto.cc + crypto/curve25519/curve25519.cc + crypto/curve25519/curve25519_64_adx.cc +@@ -2980,6 +2983,7 @@ set( + gen/test_support/trampoline-armv8-apple.S + gen/test_support/trampoline-armv8-linux.S + gen/test_support/trampoline-armv8-win.S ++ gen/test_support/trampoline-ppc-linux.S + gen/test_support/trampoline-x86-apple.S + gen/test_support/trampoline-x86-linux.S + gen/test_support/trampoline-x86_64-apple.S +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.json ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json +@@ -100,6 +100,7 @@ + "gen/bcm/aesni-x86-linux.S", + "gen/bcm/aesni-x86_64-apple.S", + "gen/bcm/aesni-x86_64-linux.S", ++ "gen/bcm/aesp8-ppc-linux.S", + "gen/bcm/aesv8-armv7-linux.S", + "gen/bcm/aesv8-armv8-apple.S", + "gen/bcm/aesv8-armv8-linux.S", +@@ -131,6 +132,7 @@ + "gen/bcm/ghash-x86-linux.S", + "gen/bcm/ghash-x86_64-apple.S", + "gen/bcm/ghash-x86_64-linux.S", ++ "gen/bcm/ghashp8-ppc-linux.S", + "gen/bcm/ghashv8-armv7-linux.S", + "gen/bcm/ghashv8-armv8-apple.S", + "gen/bcm/ghashv8-armv8-linux.S", +@@ -322,6 +324,7 @@ + "crypto/cpu_arm_freebsd.cc", + "crypto/cpu_arm_linux.cc", + "crypto/cpu_intel.cc", ++ "crypto/cpu_ppc64le.cc", + "crypto/crypto.cc", + "crypto/curve25519/curve25519.cc", + "crypto/curve25519/curve25519_64_adx.cc", +@@ -2892,6 +2895,7 @@ + "gen/test_support/trampoline-armv8-apple.S", + "gen/test_support/trampoline-armv8-linux.S", + "gen/test_support/trampoline-armv8-win.S", ++ "gen/test_support/trampoline-ppc-linux.S", + "gen/test_support/trampoline-x86-apple.S", + "gen/test_support/trampoline-x86-linux.S", + "gen/test_support/trampoline-x86_64-apple.S", +Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S +@@ -0,0 +1,1413 @@ ++// This file is generated from a similarly-named Perl script in the BoringSSL ++// source tree. Do not edit by hand. ++ ++#if defined(__has_feature) ++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) ++#define OPENSSL_NO_ASM ++#endif ++#endif ++ ++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__) ++.machine "any" ++.abiversion 2 ++.text ++ ++ ++ ++ ++ ++ ++ ++.globl abi_test_trampoline ++.type abi_test_trampoline,@function ++.align 5 ++abi_test_trampoline: ++.localentry abi_test_trampoline,0 ++ ++ ++ mflr 0 ++ std 0, 16(1) ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ stdu 1, -528(1) ++ ++ mfcr 0 ++ std 0, 8(1) ++ std 2, 24(1) ++ std 4, 32(1) ++ li 11, 48 ++ stvx 20, 11, 1 ++ li 11, 64 ++ stvx 21, 11, 1 ++ li 11, 80 ++ stvx 22, 11, 1 ++ li 11, 96 ++ stvx 23, 11, 1 ++ li 11, 112 ++ stvx 24, 11, 1 ++ li 11, 128 ++ stvx 25, 11, 1 ++ li 11, 144 ++ stvx 26, 11, 1 ++ li 11, 160 ++ stvx 27, 11, 1 ++ li 11, 176 ++ stvx 28, 11, 1 ++ li 11, 192 ++ stvx 29, 11, 1 ++ li 11, 208 ++ stvx 30, 11, 1 ++ li 11, 224 ++ stvx 31, 11, 1 ++ std 14, 240(1) ++ std 15, 248(1) ++ std 16, 256(1) ++ std 17, 264(1) ++ std 18, 272(1) ++ std 19, 280(1) ++ std 20, 288(1) ++ std 21, 296(1) ++ std 22, 304(1) ++ std 23, 312(1) ++ std 24, 320(1) ++ std 25, 328(1) ++ std 26, 336(1) ++ std 27, 344(1) ++ std 28, 352(1) ++ std 29, 360(1) ++ std 30, 368(1) ++ std 31, 376(1) ++ stfd 14, 384(1) ++ stfd 15, 392(1) ++ stfd 16, 400(1) ++ stfd 17, 408(1) ++ stfd 18, 416(1) ++ stfd 19, 424(1) ++ stfd 20, 432(1) ++ stfd 21, 440(1) ++ stfd 22, 448(1) ++ stfd 23, 456(1) ++ stfd 24, 464(1) ++ stfd 25, 472(1) ++ stfd 26, 480(1) ++ stfd 27, 488(1) ++ stfd 28, 496(1) ++ stfd 29, 504(1) ++ stfd 30, 512(1) ++ stfd 31, 520(1) ++ li 11, 0 ++ lvx 20, 11, 4 ++ li 11, 16 ++ lvx 21, 11, 4 ++ li 11, 32 ++ lvx 22, 11, 4 ++ li 11, 48 ++ lvx 23, 11, 4 ++ li 11, 64 ++ lvx 24, 11, 4 ++ li 11, 80 ++ lvx 25, 11, 4 ++ li 11, 96 ++ lvx 26, 11, 4 ++ li 11, 112 ++ lvx 27, 11, 4 ++ li 11, 128 ++ lvx 28, 11, 4 ++ li 11, 144 ++ lvx 29, 11, 4 ++ li 11, 160 ++ lvx 30, 11, 4 ++ li 11, 176 ++ lvx 31, 11, 4 ++ ld 14, 192(4) ++ ld 15, 200(4) ++ ld 16, 208(4) ++ ld 17, 216(4) ++ ld 18, 224(4) ++ ld 19, 232(4) ++ ld 20, 240(4) ++ ld 21, 248(4) ++ ld 22, 256(4) ++ ld 23, 264(4) ++ ld 24, 272(4) ++ ld 25, 280(4) ++ ld 26, 288(4) ++ ld 27, 296(4) ++ ld 28, 304(4) ++ ld 29, 312(4) ++ ld 30, 320(4) ++ ld 31, 328(4) ++ lfd 14, 336(4) ++ lfd 15, 344(4) ++ lfd 16, 352(4) ++ lfd 17, 360(4) ++ lfd 18, 368(4) ++ lfd 19, 376(4) ++ lfd 20, 384(4) ++ lfd 21, 392(4) ++ lfd 22, 400(4) ++ lfd 23, 408(4) ++ lfd 24, 416(4) ++ lfd 25, 424(4) ++ lfd 26, 432(4) ++ lfd 27, 440(4) ++ lfd 28, 448(4) ++ lfd 29, 456(4) ++ lfd 30, 464(4) ++ lfd 31, 472(4) ++ ++ ld 0, 480(4) ++ mtcr 0 ++ ++ ++ addi 11, 5, -8 ++ mr 12, 3 ++ ++ ++ cmpdi 6, 0 ++ beq .Largs_done ++ mtctr 6 ++ ldu 3, 8(11) ++ bdz .Largs_done ++ ldu 4, 8(11) ++ bdz .Largs_done ++ ldu 5, 8(11) ++ bdz .Largs_done ++ ldu 6, 8(11) ++ bdz .Largs_done ++ ldu 7, 8(11) ++ bdz .Largs_done ++ ldu 8, 8(11) ++ bdz .Largs_done ++ ldu 9, 8(11) ++ bdz .Largs_done ++ ldu 10, 8(11) ++ ++.Largs_done: ++ li 2, 0 ++ mtctr 12 ++ bctrl ++ ld 2, 24(1) ++ ++ ld 4, 32(1) ++ li 11, 0 ++ stvx 20, 11, 4 ++ li 11, 16 ++ stvx 21, 11, 4 ++ li 11, 32 ++ stvx 22, 11, 4 ++ li 11, 48 ++ stvx 23, 11, 4 ++ li 11, 64 ++ stvx 24, 11, 4 ++ li 11, 80 ++ stvx 25, 11, 4 ++ li 11, 96 ++ stvx 26, 11, 4 ++ li 11, 112 ++ stvx 27, 11, 4 ++ li 11, 128 ++ stvx 28, 11, 4 ++ li 11, 144 ++ stvx 29, 11, 4 ++ li 11, 160 ++ stvx 30, 11, 4 ++ li 11, 176 ++ stvx 31, 11, 4 ++ std 14, 192(4) ++ std 15, 200(4) ++ std 16, 208(4) ++ std 17, 216(4) ++ std 18, 224(4) ++ std 19, 232(4) ++ std 20, 240(4) ++ std 21, 248(4) ++ std 22, 256(4) ++ std 23, 264(4) ++ std 24, 272(4) ++ std 25, 280(4) ++ std 26, 288(4) ++ std 27, 296(4) ++ std 28, 304(4) ++ std 29, 312(4) ++ std 30, 320(4) ++ std 31, 328(4) ++ stfd 14, 336(4) ++ stfd 15, 344(4) ++ stfd 16, 352(4) ++ stfd 17, 360(4) ++ stfd 18, 368(4) ++ stfd 19, 376(4) ++ stfd 20, 384(4) ++ stfd 21, 392(4) ++ stfd 22, 400(4) ++ stfd 23, 408(4) ++ stfd 24, 416(4) ++ stfd 25, 424(4) ++ stfd 26, 432(4) ++ stfd 27, 440(4) ++ stfd 28, 448(4) ++ stfd 29, 456(4) ++ stfd 30, 464(4) ++ stfd 31, 472(4) ++ li 11, 48 ++ lvx 20, 11, 1 ++ li 11, 64 ++ lvx 21, 11, 1 ++ li 11, 80 ++ lvx 22, 11, 1 ++ li 11, 96 ++ lvx 23, 11, 1 ++ li 11, 112 ++ lvx 24, 11, 1 ++ li 11, 128 ++ lvx 25, 11, 1 ++ li 11, 144 ++ lvx 26, 11, 1 ++ li 11, 160 ++ lvx 27, 11, 1 ++ li 11, 176 ++ lvx 28, 11, 1 ++ li 11, 192 ++ lvx 29, 11, 1 ++ li 11, 208 ++ lvx 30, 11, 1 ++ li 11, 224 ++ lvx 31, 11, 1 ++ ld 14, 240(1) ++ ld 15, 248(1) ++ ld 16, 256(1) ++ ld 17, 264(1) ++ ld 18, 272(1) ++ ld 19, 280(1) ++ ld 20, 288(1) ++ ld 21, 296(1) ++ ld 22, 304(1) ++ ld 23, 312(1) ++ ld 24, 320(1) ++ ld 25, 328(1) ++ ld 26, 336(1) ++ ld 27, 344(1) ++ ld 28, 352(1) ++ ld 29, 360(1) ++ ld 30, 368(1) ++ ld 31, 376(1) ++ lfd 14, 384(1) ++ lfd 15, 392(1) ++ lfd 16, 400(1) ++ lfd 17, 408(1) ++ lfd 18, 416(1) ++ lfd 19, 424(1) ++ lfd 20, 432(1) ++ lfd 21, 440(1) ++ lfd 22, 448(1) ++ lfd 23, 456(1) ++ lfd 24, 464(1) ++ lfd 25, 472(1) ++ lfd 26, 480(1) ++ lfd 27, 488(1) ++ lfd 28, 496(1) ++ lfd 29, 504(1) ++ lfd 30, 512(1) ++ lfd 31, 520(1) ++ mfcr 0 ++ std 0, 480(4) ++ ld 0, 8(1) ++ mtcrf 0b00111000, 0 ++ addi 1, 1, 528 ++ ld 0, 16(1) ++ mtlr 0 ++ blr ++.size abi_test_trampoline,.-abi_test_trampoline ++.globl abi_test_clobber_r0 ++.type abi_test_clobber_r0,@function ++.align 5 ++abi_test_clobber_r0: ++.localentry abi_test_clobber_r0,0 ++ ++ li 0, 0 ++ blr ++.size abi_test_clobber_r0,.-abi_test_clobber_r0 ++.globl abi_test_clobber_r2 ++.type abi_test_clobber_r2,@function ++.align 5 ++abi_test_clobber_r2: ++.localentry abi_test_clobber_r2,0 ++ ++ li 2, 0 ++ blr ++.size abi_test_clobber_r2,.-abi_test_clobber_r2 ++.globl abi_test_clobber_r3 ++.type abi_test_clobber_r3,@function ++.align 5 ++abi_test_clobber_r3: ++.localentry abi_test_clobber_r3,0 ++ ++ li 3, 0 ++ blr ++.size abi_test_clobber_r3,.-abi_test_clobber_r3 ++.globl abi_test_clobber_r4 ++.type abi_test_clobber_r4,@function ++.align 5 ++abi_test_clobber_r4: ++.localentry abi_test_clobber_r4,0 ++ ++ li 4, 0 ++ blr ++.size abi_test_clobber_r4,.-abi_test_clobber_r4 ++.globl abi_test_clobber_r5 ++.type abi_test_clobber_r5,@function ++.align 5 ++abi_test_clobber_r5: ++.localentry abi_test_clobber_r5,0 ++ ++ li 5, 0 ++ blr ++.size abi_test_clobber_r5,.-abi_test_clobber_r5 ++.globl abi_test_clobber_r6 ++.type abi_test_clobber_r6,@function ++.align 5 ++abi_test_clobber_r6: ++.localentry abi_test_clobber_r6,0 ++ ++ li 6, 0 ++ blr ++.size abi_test_clobber_r6,.-abi_test_clobber_r6 ++.globl abi_test_clobber_r7 ++.type abi_test_clobber_r7,@function ++.align 5 ++abi_test_clobber_r7: ++.localentry abi_test_clobber_r7,0 ++ ++ li 7, 0 ++ blr ++.size abi_test_clobber_r7,.-abi_test_clobber_r7 ++.globl abi_test_clobber_r8 ++.type abi_test_clobber_r8,@function ++.align 5 ++abi_test_clobber_r8: ++.localentry abi_test_clobber_r8,0 ++ ++ li 8, 0 ++ blr ++.size abi_test_clobber_r8,.-abi_test_clobber_r8 ++.globl abi_test_clobber_r9 ++.type abi_test_clobber_r9,@function ++.align 5 ++abi_test_clobber_r9: ++.localentry abi_test_clobber_r9,0 ++ ++ li 9, 0 ++ blr ++.size abi_test_clobber_r9,.-abi_test_clobber_r9 ++.globl abi_test_clobber_r10 ++.type abi_test_clobber_r10,@function ++.align 5 ++abi_test_clobber_r10: ++.localentry abi_test_clobber_r10,0 ++ ++ li 10, 0 ++ blr ++.size abi_test_clobber_r10,.-abi_test_clobber_r10 ++.globl abi_test_clobber_r11 ++.type abi_test_clobber_r11,@function ++.align 5 ++abi_test_clobber_r11: ++.localentry abi_test_clobber_r11,0 ++ ++ li 11, 0 ++ blr ++.size abi_test_clobber_r11,.-abi_test_clobber_r11 ++.globl abi_test_clobber_r12 ++.type abi_test_clobber_r12,@function ++.align 5 ++abi_test_clobber_r12: ++.localentry abi_test_clobber_r12,0 ++ ++ li 12, 0 ++ blr ++.size abi_test_clobber_r12,.-abi_test_clobber_r12 ++.globl abi_test_clobber_r14 ++.type abi_test_clobber_r14,@function ++.align 5 ++abi_test_clobber_r14: ++.localentry abi_test_clobber_r14,0 ++ ++ li 14, 0 ++ blr ++.size abi_test_clobber_r14,.-abi_test_clobber_r14 ++.globl abi_test_clobber_r15 ++.type abi_test_clobber_r15,@function ++.align 5 ++abi_test_clobber_r15: ++.localentry abi_test_clobber_r15,0 ++ ++ li 15, 0 ++ blr ++.size abi_test_clobber_r15,.-abi_test_clobber_r15 ++.globl abi_test_clobber_r16 ++.type abi_test_clobber_r16,@function ++.align 5 ++abi_test_clobber_r16: ++.localentry abi_test_clobber_r16,0 ++ ++ li 16, 0 ++ blr ++.size abi_test_clobber_r16,.-abi_test_clobber_r16 ++.globl abi_test_clobber_r17 ++.type abi_test_clobber_r17,@function ++.align 5 ++abi_test_clobber_r17: ++.localentry abi_test_clobber_r17,0 ++ ++ li 17, 0 ++ blr ++.size abi_test_clobber_r17,.-abi_test_clobber_r17 ++.globl abi_test_clobber_r18 ++.type abi_test_clobber_r18,@function ++.align 5 ++abi_test_clobber_r18: ++.localentry abi_test_clobber_r18,0 ++ ++ li 18, 0 ++ blr ++.size abi_test_clobber_r18,.-abi_test_clobber_r18 ++.globl abi_test_clobber_r19 ++.type abi_test_clobber_r19,@function ++.align 5 ++abi_test_clobber_r19: ++.localentry abi_test_clobber_r19,0 ++ ++ li 19, 0 ++ blr ++.size abi_test_clobber_r19,.-abi_test_clobber_r19 ++.globl abi_test_clobber_r20 ++.type abi_test_clobber_r20,@function ++.align 5 ++abi_test_clobber_r20: ++.localentry abi_test_clobber_r20,0 ++ ++ li 20, 0 ++ blr ++.size abi_test_clobber_r20,.-abi_test_clobber_r20 ++.globl abi_test_clobber_r21 ++.type abi_test_clobber_r21,@function ++.align 5 ++abi_test_clobber_r21: ++.localentry abi_test_clobber_r21,0 ++ ++ li 21, 0 ++ blr ++.size abi_test_clobber_r21,.-abi_test_clobber_r21 ++.globl abi_test_clobber_r22 ++.type abi_test_clobber_r22,@function ++.align 5 ++abi_test_clobber_r22: ++.localentry abi_test_clobber_r22,0 ++ ++ li 22, 0 ++ blr ++.size abi_test_clobber_r22,.-abi_test_clobber_r22 ++.globl abi_test_clobber_r23 ++.type abi_test_clobber_r23,@function ++.align 5 ++abi_test_clobber_r23: ++.localentry abi_test_clobber_r23,0 ++ ++ li 23, 0 ++ blr ++.size abi_test_clobber_r23,.-abi_test_clobber_r23 ++.globl abi_test_clobber_r24 ++.type abi_test_clobber_r24,@function ++.align 5 ++abi_test_clobber_r24: ++.localentry abi_test_clobber_r24,0 ++ ++ li 24, 0 ++ blr ++.size abi_test_clobber_r24,.-abi_test_clobber_r24 ++.globl abi_test_clobber_r25 ++.type abi_test_clobber_r25,@function ++.align 5 ++abi_test_clobber_r25: ++.localentry abi_test_clobber_r25,0 ++ ++ li 25, 0 ++ blr ++.size abi_test_clobber_r25,.-abi_test_clobber_r25 ++.globl abi_test_clobber_r26 ++.type abi_test_clobber_r26,@function ++.align 5 ++abi_test_clobber_r26: ++.localentry abi_test_clobber_r26,0 ++ ++ li 26, 0 ++ blr ++.size abi_test_clobber_r26,.-abi_test_clobber_r26 ++.globl abi_test_clobber_r27 ++.type abi_test_clobber_r27,@function ++.align 5 ++abi_test_clobber_r27: ++.localentry abi_test_clobber_r27,0 ++ ++ li 27, 0 ++ blr ++.size abi_test_clobber_r27,.-abi_test_clobber_r27 ++.globl abi_test_clobber_r28 ++.type abi_test_clobber_r28,@function ++.align 5 ++abi_test_clobber_r28: ++.localentry abi_test_clobber_r28,0 ++ ++ li 28, 0 ++ blr ++.size abi_test_clobber_r28,.-abi_test_clobber_r28 ++.globl abi_test_clobber_r29 ++.type abi_test_clobber_r29,@function ++.align 5 ++abi_test_clobber_r29: ++.localentry abi_test_clobber_r29,0 ++ ++ li 29, 0 ++ blr ++.size abi_test_clobber_r29,.-abi_test_clobber_r29 ++.globl abi_test_clobber_r30 ++.type abi_test_clobber_r30,@function ++.align 5 ++abi_test_clobber_r30: ++.localentry abi_test_clobber_r30,0 ++ ++ li 30, 0 ++ blr ++.size abi_test_clobber_r30,.-abi_test_clobber_r30 ++.globl abi_test_clobber_r31 ++.type abi_test_clobber_r31,@function ++.align 5 ++abi_test_clobber_r31: ++.localentry abi_test_clobber_r31,0 ++ ++ li 31, 0 ++ blr ++.size abi_test_clobber_r31,.-abi_test_clobber_r31 ++.globl abi_test_clobber_f0 ++.type abi_test_clobber_f0,@function ++.align 4 ++abi_test_clobber_f0: ++.localentry abi_test_clobber_f0,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 0, -8(1) ++ blr ++.size abi_test_clobber_f0,.-abi_test_clobber_f0 ++.globl abi_test_clobber_f1 ++.type abi_test_clobber_f1,@function ++.align 4 ++abi_test_clobber_f1: ++.localentry abi_test_clobber_f1,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 1, -8(1) ++ blr ++.size abi_test_clobber_f1,.-abi_test_clobber_f1 ++.globl abi_test_clobber_f2 ++.type abi_test_clobber_f2,@function ++.align 4 ++abi_test_clobber_f2: ++.localentry abi_test_clobber_f2,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 2, -8(1) ++ blr ++.size abi_test_clobber_f2,.-abi_test_clobber_f2 ++.globl abi_test_clobber_f3 ++.type abi_test_clobber_f3,@function ++.align 4 ++abi_test_clobber_f3: ++.localentry abi_test_clobber_f3,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 3, -8(1) ++ blr ++.size abi_test_clobber_f3,.-abi_test_clobber_f3 ++.globl abi_test_clobber_f4 ++.type abi_test_clobber_f4,@function ++.align 4 ++abi_test_clobber_f4: ++.localentry abi_test_clobber_f4,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 4, -8(1) ++ blr ++.size abi_test_clobber_f4,.-abi_test_clobber_f4 ++.globl abi_test_clobber_f5 ++.type abi_test_clobber_f5,@function ++.align 4 ++abi_test_clobber_f5: ++.localentry abi_test_clobber_f5,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 5, -8(1) ++ blr ++.size abi_test_clobber_f5,.-abi_test_clobber_f5 ++.globl abi_test_clobber_f6 ++.type abi_test_clobber_f6,@function ++.align 4 ++abi_test_clobber_f6: ++.localentry abi_test_clobber_f6,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 6, -8(1) ++ blr ++.size abi_test_clobber_f6,.-abi_test_clobber_f6 ++.globl abi_test_clobber_f7 ++.type abi_test_clobber_f7,@function ++.align 4 ++abi_test_clobber_f7: ++.localentry abi_test_clobber_f7,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 7, -8(1) ++ blr ++.size abi_test_clobber_f7,.-abi_test_clobber_f7 ++.globl abi_test_clobber_f8 ++.type abi_test_clobber_f8,@function ++.align 4 ++abi_test_clobber_f8: ++.localentry abi_test_clobber_f8,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 8, -8(1) ++ blr ++.size abi_test_clobber_f8,.-abi_test_clobber_f8 ++.globl abi_test_clobber_f9 ++.type abi_test_clobber_f9,@function ++.align 4 ++abi_test_clobber_f9: ++.localentry abi_test_clobber_f9,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 9, -8(1) ++ blr ++.size abi_test_clobber_f9,.-abi_test_clobber_f9 ++.globl abi_test_clobber_f10 ++.type abi_test_clobber_f10,@function ++.align 4 ++abi_test_clobber_f10: ++.localentry abi_test_clobber_f10,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 10, -8(1) ++ blr ++.size abi_test_clobber_f10,.-abi_test_clobber_f10 ++.globl abi_test_clobber_f11 ++.type abi_test_clobber_f11,@function ++.align 4 ++abi_test_clobber_f11: ++.localentry abi_test_clobber_f11,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 11, -8(1) ++ blr ++.size abi_test_clobber_f11,.-abi_test_clobber_f11 ++.globl abi_test_clobber_f12 ++.type abi_test_clobber_f12,@function ++.align 4 ++abi_test_clobber_f12: ++.localentry abi_test_clobber_f12,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 12, -8(1) ++ blr ++.size abi_test_clobber_f12,.-abi_test_clobber_f12 ++.globl abi_test_clobber_f13 ++.type abi_test_clobber_f13,@function ++.align 4 ++abi_test_clobber_f13: ++.localentry abi_test_clobber_f13,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 13, -8(1) ++ blr ++.size abi_test_clobber_f13,.-abi_test_clobber_f13 ++.globl abi_test_clobber_f14 ++.type abi_test_clobber_f14,@function ++.align 4 ++abi_test_clobber_f14: ++.localentry abi_test_clobber_f14,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 14, -8(1) ++ blr ++.size abi_test_clobber_f14,.-abi_test_clobber_f14 ++.globl abi_test_clobber_f15 ++.type abi_test_clobber_f15,@function ++.align 4 ++abi_test_clobber_f15: ++.localentry abi_test_clobber_f15,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 15, -8(1) ++ blr ++.size abi_test_clobber_f15,.-abi_test_clobber_f15 ++.globl abi_test_clobber_f16 ++.type abi_test_clobber_f16,@function ++.align 4 ++abi_test_clobber_f16: ++.localentry abi_test_clobber_f16,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 16, -8(1) ++ blr ++.size abi_test_clobber_f16,.-abi_test_clobber_f16 ++.globl abi_test_clobber_f17 ++.type abi_test_clobber_f17,@function ++.align 4 ++abi_test_clobber_f17: ++.localentry abi_test_clobber_f17,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 17, -8(1) ++ blr ++.size abi_test_clobber_f17,.-abi_test_clobber_f17 ++.globl abi_test_clobber_f18 ++.type abi_test_clobber_f18,@function ++.align 4 ++abi_test_clobber_f18: ++.localentry abi_test_clobber_f18,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 18, -8(1) ++ blr ++.size abi_test_clobber_f18,.-abi_test_clobber_f18 ++.globl abi_test_clobber_f19 ++.type abi_test_clobber_f19,@function ++.align 4 ++abi_test_clobber_f19: ++.localentry abi_test_clobber_f19,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 19, -8(1) ++ blr ++.size abi_test_clobber_f19,.-abi_test_clobber_f19 ++.globl abi_test_clobber_f20 ++.type abi_test_clobber_f20,@function ++.align 4 ++abi_test_clobber_f20: ++.localentry abi_test_clobber_f20,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 20, -8(1) ++ blr ++.size abi_test_clobber_f20,.-abi_test_clobber_f20 ++.globl abi_test_clobber_f21 ++.type abi_test_clobber_f21,@function ++.align 4 ++abi_test_clobber_f21: ++.localentry abi_test_clobber_f21,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 21, -8(1) ++ blr ++.size abi_test_clobber_f21,.-abi_test_clobber_f21 ++.globl abi_test_clobber_f22 ++.type abi_test_clobber_f22,@function ++.align 4 ++abi_test_clobber_f22: ++.localentry abi_test_clobber_f22,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 22, -8(1) ++ blr ++.size abi_test_clobber_f22,.-abi_test_clobber_f22 ++.globl abi_test_clobber_f23 ++.type abi_test_clobber_f23,@function ++.align 4 ++abi_test_clobber_f23: ++.localentry abi_test_clobber_f23,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 23, -8(1) ++ blr ++.size abi_test_clobber_f23,.-abi_test_clobber_f23 ++.globl abi_test_clobber_f24 ++.type abi_test_clobber_f24,@function ++.align 4 ++abi_test_clobber_f24: ++.localentry abi_test_clobber_f24,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 24, -8(1) ++ blr ++.size abi_test_clobber_f24,.-abi_test_clobber_f24 ++.globl abi_test_clobber_f25 ++.type abi_test_clobber_f25,@function ++.align 4 ++abi_test_clobber_f25: ++.localentry abi_test_clobber_f25,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 25, -8(1) ++ blr ++.size abi_test_clobber_f25,.-abi_test_clobber_f25 ++.globl abi_test_clobber_f26 ++.type abi_test_clobber_f26,@function ++.align 4 ++abi_test_clobber_f26: ++.localentry abi_test_clobber_f26,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 26, -8(1) ++ blr ++.size abi_test_clobber_f26,.-abi_test_clobber_f26 ++.globl abi_test_clobber_f27 ++.type abi_test_clobber_f27,@function ++.align 4 ++abi_test_clobber_f27: ++.localentry abi_test_clobber_f27,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 27, -8(1) ++ blr ++.size abi_test_clobber_f27,.-abi_test_clobber_f27 ++.globl abi_test_clobber_f28 ++.type abi_test_clobber_f28,@function ++.align 4 ++abi_test_clobber_f28: ++.localentry abi_test_clobber_f28,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 28, -8(1) ++ blr ++.size abi_test_clobber_f28,.-abi_test_clobber_f28 ++.globl abi_test_clobber_f29 ++.type abi_test_clobber_f29,@function ++.align 4 ++abi_test_clobber_f29: ++.localentry abi_test_clobber_f29,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 29, -8(1) ++ blr ++.size abi_test_clobber_f29,.-abi_test_clobber_f29 ++.globl abi_test_clobber_f30 ++.type abi_test_clobber_f30,@function ++.align 4 ++abi_test_clobber_f30: ++.localentry abi_test_clobber_f30,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 30, -8(1) ++ blr ++.size abi_test_clobber_f30,.-abi_test_clobber_f30 ++.globl abi_test_clobber_f31 ++.type abi_test_clobber_f31,@function ++.align 4 ++abi_test_clobber_f31: ++.localentry abi_test_clobber_f31,0 ++ ++ li 0, 0 ++ ++ std 0, -8(1) ++ lfd 31, -8(1) ++ blr ++.size abi_test_clobber_f31,.-abi_test_clobber_f31 ++.globl abi_test_clobber_v0 ++.type abi_test_clobber_v0,@function ++.align 4 ++abi_test_clobber_v0: ++.localentry abi_test_clobber_v0,0 ++ ++ vxor 0, 0, 0 ++ blr ++.size abi_test_clobber_v0,.-abi_test_clobber_v0 ++.globl abi_test_clobber_v1 ++.type abi_test_clobber_v1,@function ++.align 4 ++abi_test_clobber_v1: ++.localentry abi_test_clobber_v1,0 ++ ++ vxor 1, 1, 1 ++ blr ++.size abi_test_clobber_v1,.-abi_test_clobber_v1 ++.globl abi_test_clobber_v2 ++.type abi_test_clobber_v2,@function ++.align 4 ++abi_test_clobber_v2: ++.localentry abi_test_clobber_v2,0 ++ ++ vxor 2, 2, 2 ++ blr ++.size abi_test_clobber_v2,.-abi_test_clobber_v2 ++.globl abi_test_clobber_v3 ++.type abi_test_clobber_v3,@function ++.align 4 ++abi_test_clobber_v3: ++.localentry abi_test_clobber_v3,0 ++ ++ vxor 3, 3, 3 ++ blr ++.size abi_test_clobber_v3,.-abi_test_clobber_v3 ++.globl abi_test_clobber_v4 ++.type abi_test_clobber_v4,@function ++.align 4 ++abi_test_clobber_v4: ++.localentry abi_test_clobber_v4,0 ++ ++ vxor 4, 4, 4 ++ blr ++.size abi_test_clobber_v4,.-abi_test_clobber_v4 ++.globl abi_test_clobber_v5 ++.type abi_test_clobber_v5,@function ++.align 4 ++abi_test_clobber_v5: ++.localentry abi_test_clobber_v5,0 ++ ++ vxor 5, 5, 5 ++ blr ++.size abi_test_clobber_v5,.-abi_test_clobber_v5 ++.globl abi_test_clobber_v6 ++.type abi_test_clobber_v6,@function ++.align 4 ++abi_test_clobber_v6: ++.localentry abi_test_clobber_v6,0 ++ ++ vxor 6, 6, 6 ++ blr ++.size abi_test_clobber_v6,.-abi_test_clobber_v6 ++.globl abi_test_clobber_v7 ++.type abi_test_clobber_v7,@function ++.align 4 ++abi_test_clobber_v7: ++.localentry abi_test_clobber_v7,0 ++ ++ vxor 7, 7, 7 ++ blr ++.size abi_test_clobber_v7,.-abi_test_clobber_v7 ++.globl abi_test_clobber_v8 ++.type abi_test_clobber_v8,@function ++.align 4 ++abi_test_clobber_v8: ++.localentry abi_test_clobber_v8,0 ++ ++ vxor 8, 8, 8 ++ blr ++.size abi_test_clobber_v8,.-abi_test_clobber_v8 ++.globl abi_test_clobber_v9 ++.type abi_test_clobber_v9,@function ++.align 4 ++abi_test_clobber_v9: ++.localentry abi_test_clobber_v9,0 ++ ++ vxor 9, 9, 9 ++ blr ++.size abi_test_clobber_v9,.-abi_test_clobber_v9 ++.globl abi_test_clobber_v10 ++.type abi_test_clobber_v10,@function ++.align 4 ++abi_test_clobber_v10: ++.localentry abi_test_clobber_v10,0 ++ ++ vxor 10, 10, 10 ++ blr ++.size abi_test_clobber_v10,.-abi_test_clobber_v10 ++.globl abi_test_clobber_v11 ++.type abi_test_clobber_v11,@function ++.align 4 ++abi_test_clobber_v11: ++.localentry abi_test_clobber_v11,0 ++ ++ vxor 11, 11, 11 ++ blr ++.size abi_test_clobber_v11,.-abi_test_clobber_v11 ++.globl abi_test_clobber_v12 ++.type abi_test_clobber_v12,@function ++.align 4 ++abi_test_clobber_v12: ++.localentry abi_test_clobber_v12,0 ++ ++ vxor 12, 12, 12 ++ blr ++.size abi_test_clobber_v12,.-abi_test_clobber_v12 ++.globl abi_test_clobber_v13 ++.type abi_test_clobber_v13,@function ++.align 4 ++abi_test_clobber_v13: ++.localentry abi_test_clobber_v13,0 ++ ++ vxor 13, 13, 13 ++ blr ++.size abi_test_clobber_v13,.-abi_test_clobber_v13 ++.globl abi_test_clobber_v14 ++.type abi_test_clobber_v14,@function ++.align 4 ++abi_test_clobber_v14: ++.localentry abi_test_clobber_v14,0 ++ ++ vxor 14, 14, 14 ++ blr ++.size abi_test_clobber_v14,.-abi_test_clobber_v14 ++.globl abi_test_clobber_v15 ++.type abi_test_clobber_v15,@function ++.align 4 ++abi_test_clobber_v15: ++.localentry abi_test_clobber_v15,0 ++ ++ vxor 15, 15, 15 ++ blr ++.size abi_test_clobber_v15,.-abi_test_clobber_v15 ++.globl abi_test_clobber_v16 ++.type abi_test_clobber_v16,@function ++.align 4 ++abi_test_clobber_v16: ++.localentry abi_test_clobber_v16,0 ++ ++ vxor 16, 16, 16 ++ blr ++.size abi_test_clobber_v16,.-abi_test_clobber_v16 ++.globl abi_test_clobber_v17 ++.type abi_test_clobber_v17,@function ++.align 4 ++abi_test_clobber_v17: ++.localentry abi_test_clobber_v17,0 ++ ++ vxor 17, 17, 17 ++ blr ++.size abi_test_clobber_v17,.-abi_test_clobber_v17 ++.globl abi_test_clobber_v18 ++.type abi_test_clobber_v18,@function ++.align 4 ++abi_test_clobber_v18: ++.localentry abi_test_clobber_v18,0 ++ ++ vxor 18, 18, 18 ++ blr ++.size abi_test_clobber_v18,.-abi_test_clobber_v18 ++.globl abi_test_clobber_v19 ++.type abi_test_clobber_v19,@function ++.align 4 ++abi_test_clobber_v19: ++.localentry abi_test_clobber_v19,0 ++ ++ vxor 19, 19, 19 ++ blr ++.size abi_test_clobber_v19,.-abi_test_clobber_v19 ++.globl abi_test_clobber_v20 ++.type abi_test_clobber_v20,@function ++.align 4 ++abi_test_clobber_v20: ++.localentry abi_test_clobber_v20,0 ++ ++ vxor 20, 20, 20 ++ blr ++.size abi_test_clobber_v20,.-abi_test_clobber_v20 ++.globl abi_test_clobber_v21 ++.type abi_test_clobber_v21,@function ++.align 4 ++abi_test_clobber_v21: ++.localentry abi_test_clobber_v21,0 ++ ++ vxor 21, 21, 21 ++ blr ++.size abi_test_clobber_v21,.-abi_test_clobber_v21 ++.globl abi_test_clobber_v22 ++.type abi_test_clobber_v22,@function ++.align 4 ++abi_test_clobber_v22: ++.localentry abi_test_clobber_v22,0 ++ ++ vxor 22, 22, 22 ++ blr ++.size abi_test_clobber_v22,.-abi_test_clobber_v22 ++.globl abi_test_clobber_v23 ++.type abi_test_clobber_v23,@function ++.align 4 ++abi_test_clobber_v23: ++.localentry abi_test_clobber_v23,0 ++ ++ vxor 23, 23, 23 ++ blr ++.size abi_test_clobber_v23,.-abi_test_clobber_v23 ++.globl abi_test_clobber_v24 ++.type abi_test_clobber_v24,@function ++.align 4 ++abi_test_clobber_v24: ++.localentry abi_test_clobber_v24,0 ++ ++ vxor 24, 24, 24 ++ blr ++.size abi_test_clobber_v24,.-abi_test_clobber_v24 ++.globl abi_test_clobber_v25 ++.type abi_test_clobber_v25,@function ++.align 4 ++abi_test_clobber_v25: ++.localentry abi_test_clobber_v25,0 ++ ++ vxor 25, 25, 25 ++ blr ++.size abi_test_clobber_v25,.-abi_test_clobber_v25 ++.globl abi_test_clobber_v26 ++.type abi_test_clobber_v26,@function ++.align 4 ++abi_test_clobber_v26: ++.localentry abi_test_clobber_v26,0 ++ ++ vxor 26, 26, 26 ++ blr ++.size abi_test_clobber_v26,.-abi_test_clobber_v26 ++.globl abi_test_clobber_v27 ++.type abi_test_clobber_v27,@function ++.align 4 ++abi_test_clobber_v27: ++.localentry abi_test_clobber_v27,0 ++ ++ vxor 27, 27, 27 ++ blr ++.size abi_test_clobber_v27,.-abi_test_clobber_v27 ++.globl abi_test_clobber_v28 ++.type abi_test_clobber_v28,@function ++.align 4 ++abi_test_clobber_v28: ++.localentry abi_test_clobber_v28,0 ++ ++ vxor 28, 28, 28 ++ blr ++.size abi_test_clobber_v28,.-abi_test_clobber_v28 ++.globl abi_test_clobber_v29 ++.type abi_test_clobber_v29,@function ++.align 4 ++abi_test_clobber_v29: ++.localentry abi_test_clobber_v29,0 ++ ++ vxor 29, 29, 29 ++ blr ++.size abi_test_clobber_v29,.-abi_test_clobber_v29 ++.globl abi_test_clobber_v30 ++.type abi_test_clobber_v30,@function ++.align 4 ++abi_test_clobber_v30: ++.localentry abi_test_clobber_v30,0 ++ ++ vxor 30, 30, 30 ++ blr ++.size abi_test_clobber_v30,.-abi_test_clobber_v30 ++.globl abi_test_clobber_v31 ++.type abi_test_clobber_v31,@function ++.align 4 ++abi_test_clobber_v31: ++.localentry abi_test_clobber_v31,0 ++ ++ vxor 31, 31, 31 ++ blr ++.size abi_test_clobber_v31,.-abi_test_clobber_v31 ++.globl abi_test_clobber_cr0 ++.type abi_test_clobber_cr0,@function ++.align 4 ++abi_test_clobber_cr0: ++.localentry abi_test_clobber_cr0,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 128, 0 ++ blr ++.size abi_test_clobber_cr0,.-abi_test_clobber_cr0 ++.globl abi_test_clobber_cr1 ++.type abi_test_clobber_cr1,@function ++.align 4 ++abi_test_clobber_cr1: ++.localentry abi_test_clobber_cr1,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 64, 0 ++ blr ++.size abi_test_clobber_cr1,.-abi_test_clobber_cr1 ++.globl abi_test_clobber_cr2 ++.type abi_test_clobber_cr2,@function ++.align 4 ++abi_test_clobber_cr2: ++.localentry abi_test_clobber_cr2,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 32, 0 ++ blr ++.size abi_test_clobber_cr2,.-abi_test_clobber_cr2 ++.globl abi_test_clobber_cr3 ++.type abi_test_clobber_cr3,@function ++.align 4 ++abi_test_clobber_cr3: ++.localentry abi_test_clobber_cr3,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 16, 0 ++ blr ++.size abi_test_clobber_cr3,.-abi_test_clobber_cr3 ++.globl abi_test_clobber_cr4 ++.type abi_test_clobber_cr4,@function ++.align 4 ++abi_test_clobber_cr4: ++.localentry abi_test_clobber_cr4,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 8, 0 ++ blr ++.size abi_test_clobber_cr4,.-abi_test_clobber_cr4 ++.globl abi_test_clobber_cr5 ++.type abi_test_clobber_cr5,@function ++.align 4 ++abi_test_clobber_cr5: ++.localentry abi_test_clobber_cr5,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 4, 0 ++ blr ++.size abi_test_clobber_cr5,.-abi_test_clobber_cr5 ++.globl abi_test_clobber_cr6 ++.type abi_test_clobber_cr6,@function ++.align 4 ++abi_test_clobber_cr6: ++.localentry abi_test_clobber_cr6,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 2, 0 ++ blr ++.size abi_test_clobber_cr6,.-abi_test_clobber_cr6 ++.globl abi_test_clobber_cr7 ++.type abi_test_clobber_cr7,@function ++.align 4 ++abi_test_clobber_cr7: ++.localentry abi_test_clobber_cr7,0 ++ ++ ++ ++ mfcr 0 ++ not 0, 0 ++ mtcrf 1, 0 ++ blr ++.size abi_test_clobber_cr7,.-abi_test_clobber_cr7 ++.globl abi_test_clobber_ctr ++.type abi_test_clobber_ctr,@function ++.align 4 ++abi_test_clobber_ctr: ++.localentry abi_test_clobber_ctr,0 ++ ++ li 0, 0 ++ mtctr 0 ++ blr ++.size abi_test_clobber_ctr,.-abi_test_clobber_ctr ++ ++.globl abi_test_clobber_lr ++.type abi_test_clobber_lr,@function ++.align 4 ++abi_test_clobber_lr: ++.localentry abi_test_clobber_lr,0 ++ ++ mflr 0 ++ mtctr 0 ++ li 0, 0 ++ mtlr 0 ++ bctr ++.size abi_test_clobber_lr,.-abi_test_clobber_lr ++ ++#endif // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__ ++#if defined(__ELF__) ++// See https://www.airs.ccom/blog/archives/518. ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/0002-Add-ppc64-trap-instructions.patch b/0002-Add-ppc64-trap-instructions.patch new file mode 100644 index 0000000..9559580 --- /dev/null +++ b/0002-Add-ppc64-trap-instructions.patch @@ -0,0 +1,18 @@ +Index: chromium-144.0.7559.59/v8/src/base/immediate-crash.h +=================================================================== +--- chromium-144.0.7559.59.orig/v8/src/base/immediate-crash.h ++++ chromium-144.0.7559.59/v8/src/base/immediate-crash.h +@@ -98,6 +98,13 @@ + #define TRAP_SEQUENCE1_() asm volatile(".2byte 0x0001"); + #define TRAP_SEQUENCE2_() asm volatile("") + ++#elif V8_HOST_ARCH_PPC64 ++ ++#define TRAP_SEQUENCE1_() asm volatile("trap") ++// Intentionally empty: __builtin_unreachable() is always part of the sequence ++// (see IMMEDIATE_CRASH below) ++#define TRAP_SEQUENCE2_() asm volatile("") ++ + #else + + // Crash report accuracy will not be guaranteed on other architectures, but at diff --git a/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch b/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch new file mode 100644 index 0000000..3e2bfb6 --- /dev/null +++ b/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch @@ -0,0 +1,36 @@ +# crypto: fix missing OPENSSL_NO_ENGINE guard +# PR-URL: https://github.com/nodejs/node/pull/57012 +# Reviewed-By: Richard Lau +# Reviewed-By: Joyee Cheung +# Reviewed-By: Luigi Pinca +# Reviewed-By: James M Snell + +diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc +index abcdef1..2345678 100644 +--- a/src/crypto/crypto_context.cc ++++ b/src/crypto/crypto_context.cc +@@ -34,7 +34,9 @@ using ncrypto::BIOPointer; + using ncrypto::ClearErrorOnReturn; + using ncrypto::CryptoErrorList; + using ncrypto::DHPointer; ++#ifndef OPENSSL_NO_ENGINE + using ncrypto::EnginePointer; ++#endif // !OPENSSL_NO_ENGINE + using ncrypto::EVPKeyPointer; + using ncrypto::MarkPopErrorOnReturn; + using ncrypto::SSLPointer; + +diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc +index 1234567..abcdef0 100644 +--- a/src/crypto/crypto_util.cc ++++ b/src/crypto/crypto_util.cc +@@ -30,7 +30,9 @@ + using ncrypto::BIOPointer; + using ncrypto::CryptoErrorList; ++#ifndef OPENSSL_NO_ENGINE + using ncrypto::EnginePointer; ++#endif // !OPENSSL_NO_ENGINE + using ncrypto::EVPKeyCtxPointer; + using v8::ArrayBuffer; + using v8::BackingStore; + using v8::BigInt; diff --git a/0002-regenerate-xnn-buildgn.patch b/0002-regenerate-xnn-buildgn.patch new file mode 100644 index 0000000..21211da --- /dev/null +++ b/0002-regenerate-xnn-buildgn.patch @@ -0,0 +1,120711 @@ +File regenerated by running 'python3 generate_build_gn.py' +Requires Bazel 8 or higher to regenerate + +Index: chromium-144.0.7559.59/third_party/xnnpack/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/xnnpack/BUILD.gn ++++ chromium-144.0.7559.59/third_party/xnnpack/BUILD.gn +@@ -35,10 +35,10 @@ config("xnnpack_public_config") { + } + + defines = [ +- "CHROMIUM", +- "XNN_LOG_LEVEL=0", +- "XNN_LOG_TO_STDIO=0", +- ] + xnn_defines ++ "CHROMIUM", ++ "XNN_LOG_LEVEL=0", ++ "XNN_LOG_TO_STDIO=0", ++ ] + xnn_defines + } + + config("xnnpack_private_config") { +@@ -48,1844 +48,2108 @@ config("xnnpack_private_config") { + ] + } + ++ + if (current_cpu == "x64" || current_cpu == "x86") { ++ ++ if (build_with_chromium) { ++ xnnpack_deps = [ ++ ":configs_x64", ++ ":enums_x64", ++ ":f16-avgpool_f16c-no-avx2-no-fma", ++ ":f16-dwconv_f16c-fma-no-avx2", ++ ":f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-f32-vcvt_f16c-no-avx2-no-fma", ++ ":f16-f32-vcvt_sse2-no-sse3", ++ ":f16-f32-vcvt_sse4.1-no-sse4.2", ++ ":f16-f32-vcvt_x64", ++ ":f16-f32acc-gemm_f16c-fma-avx2", ++ ":f16-f32acc-igemm_f16c-fma-avx2", ++ ":f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-f32acc-rdsum2_f16c-no-avx2-no-fma", ++ ":f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-f32acc-rdsum_f16c-no-avx2-no-fma", ++ ":f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-f32acc-rsum2_f16c-no-avx2-no-fma", ++ ":f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-f32acc-rsum_f16c-no-avx2-no-fma", ++ ":f16-ibilinear_f16c-fma-no-avx2", ++ ":f16-maxpool_f16c-fma-avx2", ++ ":f16-maxpool_sse4.1-no-sse4.2", ++ ":f16-qs8-vcvt_x64", ++ ":f16-qu8-vcvt_x64", ++ ":f16-raddstoreexpminusmax_f16c-fma-avx2", ++ ":f16-rdminmax_x64", ++ ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16", ++ ":f16-rminmax_f16c-no-avx2-no-fma", ++ ":f16-rminmax_x64", ++ ":f16-vapproxgelu_x64", ++ ":f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16", ++ ":f16-vbinary_f16c-no-avx2-no-fma", ++ ":f16-vclamp_f16c-no-avx2-no-fma", ++ ":f16-vcos_x64", ++ ":f16-velu_f16c-fma-avx2", ++ ":f16-vexp_x64", ++ ":f16-vgelu_x64", ++ ":f16-vhswish_f16c-no-avx2-no-fma", ++ ":f16-vlrelu_f16c-no-avx2-no-fma", ++ ":f16-vmulcaddc_f16c-fma-no-avx2", ++ ":f16-vrnd_f16c-no-avx2-no-fma", ++ ":f16-vrsqrt_f16c-no-avx2-no-fma", ++ ":f16-vsigmoid_f16c-fma-avx2", ++ ":f16-vsin_x64", ++ ":f16-vsqrt_f16c-no-avx2-no-fma", ++ ":f16-vtanh_f16c-fma-no-avx2", ++ ":f16-vtanh_f16c-no-avx2-no-fma", ++ ":f16-vunary_f16c-no-avx2-no-fma", ++ ":f16-vunary_sse2-no-sse3", ++ ":f32-argmaxpool_sse2-no-sse3", ++ ":f32-argmaxpool_x64", ++ ":f32-avgpool_avx-no-avx2-no-f16c-no-fma", ++ ":f32-avgpool_avx512f", ++ ":f32-avgpool_sse2-no-sse3", ++ ":f32-avgpool_x64", ++ ":f32-conv-hwc2chw_sse-no-sse2", ++ ":f32-conv-hwc2chw_x64", ++ ":f32-dwconv2d-chw_sse-no-sse2", ++ ":f32-dwconv2d-chw_ssse3-no-sse4.1", ++ ":f32-dwconv2d-chw_x64", ++ ":f32-dwconv_avx-no-avx2-no-f16c-no-fma", ++ ":f32-dwconv_avx512f", ++ ":f32-dwconv_f16c-fma-no-avx2", ++ ":f32-dwconv_sse-no-sse2", ++ ":f32-dwconv_x64", ++ ":f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f32-f16-vcvt_f16c-no-avx2-no-fma", ++ ":f32-f16-vcvt_sse2-no-sse3", ++ ":f32-f16-vcvt_sse4.1-no-sse4.2", ++ ":f32-f16-vcvt_x64", ++ ":f32-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":f32-gemm_avx512f", ++ ":f32-gemm_f16c-fma-no-avx2", ++ ":f32-gemm_sse-no-sse2", ++ ":f32-gemm_x64", ++ ":f32-ibilinear-chw_sse-no-sse2", ++ ":f32-ibilinear-chw_x64", ++ ":f32-ibilinear_sse-no-sse2", ++ ":f32-ibilinear_x64", ++ ":f32-igemm_avx-no-avx2-no-f16c-no-fma", ++ ":f32-igemm_avx512f", ++ ":f32-igemm_f16c-fma-no-avx2", ++ ":f32-igemm_sse-no-sse2", ++ ":f32-igemm_x64", ++ ":f32-maxpool_sse2-no-sse3", ++ ":f32-maxpool_x64", ++ ":f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":f32-qc4w-gemm_f16c-fma-avx2", ++ ":f32-qc4w-gemm_f16c-fma-no-avx2", ++ ":f32-qc4w-gemm_sse4.1-no-sse4.2", ++ ":f32-qc4w-gemm_x64", ++ ":f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":f32-qc8w-gemm_f16c-fma-avx2", ++ ":f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f32-qc8w-gemm_f16c-fma-no-avx2", ++ ":f32-qc8w-gemm_sse4.1-no-sse4.2", ++ ":f32-qc8w-gemm_x64", ++ ":f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":f32-qs8-vcvt_f16c-fma-avx2", ++ ":f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f32-qs8-vcvt_sse2-no-sse3", ++ ":f32-qs8-vcvt_sse4.1-no-sse4.2", ++ ":f32-qs8-vcvt_x64", ++ ":f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":f32-qu8-vcvt_f16c-fma-avx2", ++ ":f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f32-qu8-vcvt_sse2-no-sse3", ++ ":f32-qu8-vcvt_x64", ++ ":f32-raddstoreexpminusmax_avx512f", ++ ":f32-raddstoreexpminusmax_f16c-fma-avx2", ++ ":f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":f32-raddstoreexpminusmax_sse2-no-sse3", ++ ":f32-raddstoreexpminusmax_x64", ++ ":f32-rdminmax_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rdminmax_avx512f", ++ ":f32-rdminmax_sse2-no-sse3", ++ ":f32-rdminmax_x64", ++ ":f32-rdsum2_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rdsum2_avx512f", ++ ":f32-rdsum2_sse2-no-sse3", ++ ":f32-rdsum2_x64", ++ ":f32-rdsum_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rdsum_avx512f", ++ ":f32-rdsum_sse2-no-sse3", ++ ":f32-rdsum_x64", ++ ":f32-rminmax_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rminmax_avx512f", ++ ":f32-rminmax_sse-no-sse2", ++ ":f32-rminmax_x64", ++ ":f32-rsum2_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rsum2_avx512f", ++ ":f32-rsum2_sse2-no-sse3", ++ ":f32-rsum2_x64", ++ ":f32-rsum_avx-no-avx2-no-f16c-no-fma", ++ ":f32-rsum_avx512f", ++ ":f32-rsum_sse2-no-sse3", ++ ":f32-rsum_x64", ++ ":f32-spmm_sse-no-sse2", ++ ":f32-spmm_x64", ++ ":f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vapproxgelu_avx512f", ++ ":f32-vapproxgelu_f16c-fma-no-avx2", ++ ":f32-vapproxgelu_sse2-no-sse3", ++ ":f32-vapproxgelu_x64", ++ ":f32-vbinary_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vbinary_avx512f", ++ ":f32-vbinary_sse-no-sse2", ++ ":f32-vbinary_sse2-no-sse3", ++ ":f32-vbinary_x64", ++ ":f32-vclamp_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vclamp_avx512f", ++ ":f32-vclamp_sse2-no-sse3", ++ ":f32-vclamp_x64", ++ ":f32-vcmul_avx512f", ++ ":f32-vcmul_f16c-fma-no-avx2", ++ ":f32-vcmul_sse-no-sse2", ++ ":f32-vcmul_x64", ++ ":f32-vcopysign_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vcopysign_avx512f", ++ ":f32-vcopysign_sse2-no-sse3", ++ ":f32-vcopysign_x64", ++ ":f32-vcos_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vcos_avx512f", ++ ":f32-vcos_f16c-fma-no-avx2", ++ ":f32-vcos_sse2-no-sse3", ++ ":f32-vcos_x64", ++ ":f32-velu_avx-no-avx2-no-f16c-no-fma", ++ ":f32-velu_avx512f", ++ ":f32-velu_f16c-fma-avx2", ++ ":f32-velu_sse2-no-sse3", ++ ":f32-velu_x64", ++ ":f32-vexp_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vexp_avx512f", ++ ":f32-vexp_f16c-fma-no-avx2", ++ ":f32-vexp_sse2-no-sse3", ++ ":f32-vexp_x64", ++ ":f32-vgelu_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vgelu_avx512f", ++ ":f32-vgelu_f16c-fma-no-avx2", ++ ":f32-vgelu_sse2-no-sse3", ++ ":f32-vgelu_x64", ++ ":f32-vhswish_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vhswish_avx512f", ++ ":f32-vhswish_f16c-fma-no-avx2", ++ ":f32-vhswish_sse2-no-sse3", ++ ":f32-vhswish_x64", ++ ":f32-vlog_avx512f", ++ ":f32-vlog_f16c-fma-avx2", ++ ":f32-vlog_f16c-fma-no-avx2", ++ ":f32-vlog_sse2-no-sse3", ++ ":f32-vlog_x64", ++ ":f32-vlrelu_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vlrelu_avx512f", ++ ":f32-vlrelu_sse-no-sse2", ++ ":f32-vlrelu_sse4.1-no-sse4.2", ++ ":f32-vlrelu_x64", ++ ":f32-vmulcaddc_sse-no-sse2", ++ ":f32-vmulcaddc_x64", ++ ":f32-vrnd_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vrnd_avx512f", ++ ":f32-vrnd_sse2-no-sse3", ++ ":f32-vrnd_sse4.1-no-sse4.2", ++ ":f32-vrnd_x64", ++ ":f32-vrsqrt_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vrsqrt_avx512f", ++ ":f32-vrsqrt_sse2-no-sse3", ++ ":f32-vrsqrt_x64", ++ ":f32-vsigmoid_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vsigmoid_avx512f", ++ ":f32-vsigmoid_f16c-fma-avx2", ++ ":f32-vsigmoid_sse2-no-sse3", ++ ":f32-vsigmoid_sse4.1-no-sse4.2", ++ ":f32-vsigmoid_x64", ++ ":f32-vsin_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vsin_avx512f", ++ ":f32-vsin_f16c-fma-no-avx2", ++ ":f32-vsin_sse2-no-sse3", ++ ":f32-vsin_x64", ++ ":f32-vsqrt_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vsqrt_avx512f", ++ ":f32-vsqrt_sse2-no-sse3", ++ ":f32-vsqrt_x64", ++ ":f32-vtanh_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vtanh_avx512f", ++ ":f32-vtanh_f16c-fma-no-avx2", ++ ":f32-vtanh_sse2-no-sse3", ++ ":f32-vtanh_x64", ++ ":f32-vunary_avx-no-avx2-no-f16c-no-fma", ++ ":f32-vunary_avx512f", ++ ":f32-vunary_sse2-no-sse3", ++ ":f32-vunary_x64", ++ ":operators_x64", ++ ":qd8-f16-qb4w-gemm_f16c-fma-avx2", ++ ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f16-qc4w-gemm_f16c-fma-avx2", ++ ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f16-qc8w-gemm_f16c-fma-avx2", ++ ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f16-qc8w-igemm_f16c-fma-avx2", ++ ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":qd8-f32-qb4w-gemm_f16c-fma-avx2", ++ ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni", ++ ":qd8-f32-qb4w-gemm_sse2-no-sse3", ++ ":qd8-f32-qb4w-gemm_sse4.1-no-sse4.2", ++ ":qd8-f32-qb4w-gemm_x64", ++ ":qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx2", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qd8-f32-qc4w-gemm_sse2-no-sse3", ++ ":qd8-f32-qc4w-gemm_ssse3-no-sse4.1", ++ ":qd8-f32-qc4w-gemm_x64", ++ ":qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f32-qc8w-gemm_f16c-fma-avx2", ++ ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qd8-f32-qc8w-gemm_sse2-no-sse3", ++ ":qd8-f32-qc8w-gemm_sse4.1-no-sse4.2", ++ ":qd8-f32-qc8w-gemm_x64", ++ ":qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qd8-f32-qc8w-igemm_f16c-fma-avx2", ++ ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qd8-f32-qc8w-igemm_sse2-no-sse3", ++ ":qd8-f32-qc8w-igemm_sse4.1-no-sse4.2", ++ ":qd8-f32-qc8w-igemm_x64", ++ ":qs8-dwconv_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-dwconv_f16c-fma-avx2", ++ ":qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-dwconv_sse2-no-sse3", ++ ":qs8-dwconv_sse4.1-no-sse4.2", ++ ":qs8-dwconv_x64", ++ ":qs8-f16-vcvt_f16c-fma-avx2", ++ ":qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-f32-vcvt_f16c-fma-avx2", ++ ":qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-f32-vcvt_sse2-no-sse3", ++ ":qs8-f32-vcvt_sse4.1-no-sse4.2", ++ ":qs8-f32-vcvt_x64", ++ ":qs8-packw_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-packw_f16c-fma-avx2", ++ ":qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-packw_x64", ++ ":qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-qc4w-gemm_f16c-fma-avx2", ++ ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-qc4w-gemm_ssse3-no-sse4.1", ++ ":qs8-qc4w-gemm_x64", ++ ":qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-qc8w-dwconv_f16c-fma-avx2", ++ ":qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-qc8w-dwconv_sse2-no-sse3", ++ ":qs8-qc8w-dwconv_sse4.1-no-sse4.2", ++ ":qs8-qc8w-dwconv_x64", ++ ":qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni", ++ ":qs8-qc8w-gemm_f16c-fma-avx2", ++ ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qs8-qc8w-gemm_sse2-no-sse3", ++ ":qs8-qc8w-gemm_sse4.1-no-sse4.2", ++ ":qs8-qc8w-gemm_x64", ++ ":qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni", ++ ":qs8-qc8w-igemm_f16c-fma-avx2", ++ ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", ++ ":qs8-qc8w-igemm_sse2-no-sse3", ++ ":qs8-qc8w-igemm_sse4.1-no-sse4.2", ++ ":qs8-qc8w-igemm_x64", ++ ":qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-qu8-packw_x64", ++ ":qs8-rdsum_f16c-fma-avx2", ++ ":qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-rdsum_sse4.1-no-sse4.2", ++ ":qs8-rdsum_x64", ++ ":qs8-rsum_avx2-avxvnni-f16c-fma-gfni", ++ ":qs8-rsum_f16c-fma-avx2", ++ ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", ++ ":qs8-rsum_ssse3-no-sse4.1", ++ ":qs8-rsum_x64", ++ ":qs8-vadd_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vadd_f16c-fma-avx2", ++ ":qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-vadd_sse2-no-sse3", ++ ":qs8-vadd_sse4.1-no-sse4.2", ++ ":qs8-vadd_x64", ++ ":qs8-vaddc_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vaddc_f16c-fma-avx2", ++ ":qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qs8-vaddc_sse2-no-sse3", ++ ":qs8-vaddc_sse4.1-no-sse4.2", ++ ":qs8-vaddc_x64", ++ ":qs8-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vcvt_f16c-fma-avx2", ++ ":qs8-vcvt_sse2-no-sse3", ++ ":qs8-vcvt_sse4.1-no-sse4.2", ++ ":qs8-vcvt_ssse3-no-sse4.1", ++ ":qs8-vcvt_x64", ++ ":qs8-vlrelu_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vlrelu_f16c-fma-avx2", ++ ":qs8-vlrelu_sse2-no-sse3", ++ ":qs8-vlrelu_sse4.1-no-sse4.2", ++ ":qs8-vlrelu_ssse3-no-sse4.1", ++ ":qs8-vlrelu_x64", ++ ":qs8-vmul_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vmul_sse2-no-sse3", ++ ":qs8-vmul_sse4.1-no-sse4.2", ++ ":qs8-vmul_x64", ++ ":qs8-vmulc_avx-no-avx2-no-f16c-no-fma", ++ ":qs8-vmulc_sse2-no-sse3", ++ ":qs8-vmulc_sse4.1-no-sse4.2", ++ ":qs8-vmulc_x64", ++ ":qs8-vprelu_f16c-fma-avx2", ++ ":qs8-vprelu_x64", ++ ":qs8-vpreluc_f16c-fma-avx2", ++ ":qs8-vpreluc_x64", ++ ":qs8-vrpreluc_f16c-fma-avx2", ++ ":qs8-vrpreluc_x64", ++ ":qu8-dwconv_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-dwconv_f16c-fma-avx2", ++ ":qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-dwconv_sse2-no-sse3", ++ ":qu8-dwconv_sse4.1-no-sse4.2", ++ ":qu8-dwconv_x64", ++ ":qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-f32-vcvt_f16c-fma-avx2", ++ ":qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-f32-vcvt_sse2-no-sse3", ++ ":qu8-f32-vcvt_sse4.1-no-sse4.2", ++ ":qu8-f32-vcvt_x64", ++ ":qu8-gemm_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-gemm_f16c-fma-avx2", ++ ":qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-gemm_sse2-no-sse3", ++ ":qu8-gemm_sse4.1-no-sse4.2", ++ ":qu8-gemm_x64", ++ ":qu8-igemm_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-igemm_f16c-fma-avx2", ++ ":qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-igemm_sse2-no-sse3", ++ ":qu8-igemm_sse4.1-no-sse4.2", ++ ":qu8-igemm_x64", ++ ":qu8-rdsum_ssse3-no-sse4.1", ++ ":qu8-rdsum_x64", ++ ":qu8-rsum_f16c-fma-avx2", ++ ":qu8-rsum_sse2-no-sse3", ++ ":qu8-rsum_x64", ++ ":qu8-vadd_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vadd_f16c-fma-avx2", ++ ":qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-vadd_sse2-no-sse3", ++ ":qu8-vadd_sse4.1-no-sse4.2", ++ ":qu8-vadd_x64", ++ ":qu8-vaddc_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vaddc_f16c-fma-avx2", ++ ":qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":qu8-vaddc_sse2-no-sse3", ++ ":qu8-vaddc_sse4.1-no-sse4.2", ++ ":qu8-vaddc_x64", ++ ":qu8-vcvt_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vcvt_f16c-fma-avx2", ++ ":qu8-vcvt_sse2-no-sse3", ++ ":qu8-vcvt_sse4.1-no-sse4.2", ++ ":qu8-vcvt_ssse3-no-sse4.1", ++ ":qu8-vcvt_x64", ++ ":qu8-vlrelu_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vlrelu_f16c-fma-avx2", ++ ":qu8-vlrelu_sse2-no-sse3", ++ ":qu8-vlrelu_sse4.1-no-sse4.2", ++ ":qu8-vlrelu_ssse3-no-sse4.1", ++ ":qu8-vlrelu_x64", ++ ":qu8-vmul_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vmul_sse2-no-sse3", ++ ":qu8-vmul_sse4.1-no-sse4.2", ++ ":qu8-vmul_x64", ++ ":qu8-vmulc_avx-no-avx2-no-f16c-no-fma", ++ ":qu8-vmulc_sse2-no-sse3", ++ ":qu8-vmulc_sse4.1-no-sse4.2", ++ ":qu8-vmulc_x64", ++ ":qu8-vprelu_f16c-fma-avx2", ++ ":qu8-vprelu_x64", ++ ":qu8-vpreluc_f16c-fma-avx2", ++ ":qu8-vpreluc_x64", ++ ":qu8-vrpreluc_f16c-fma-avx2", ++ ":qu8-vrpreluc_x64", ++ ":reference_x64", ++ ":s8-ibilinear_sse2-no-sse3", ++ ":s8-ibilinear_sse4.1-no-sse4.2", ++ ":s8-ibilinear_x64", ++ ":s8-maxpool_sse4.1-no-sse4.2", ++ ":s8-maxpool_x64", ++ ":s8-rdminmax_sse4.1-no-sse4.2", ++ ":s8-rdminmax_x64", ++ ":s8-rminmax_sse4.1-no-sse4.2", ++ ":s8-rminmax_x64", ++ ":s8-vclamp_f16c-fma-avx2", ++ ":s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":s8-vclamp_sse2-no-sse3", ++ ":s8-vclamp_sse4.1-no-sse4.2", ++ ":s8-vclamp_x64", ++ ":subgraph_x64", ++ ":tables_x64", ++ ":u8-ibilinear_sse2-no-sse3", ++ ":u8-ibilinear_sse4.1-no-sse4.2", ++ ":u8-ibilinear_x64", ++ ":u8-lut32norm_x64", ++ ":u8-maxpool_sse2-no-sse3", ++ ":u8-maxpool_x64", ++ ":u8-rdminmax_sse2-no-sse3", ++ ":u8-rdminmax_x64", ++ ":u8-rminmax_sse2-no-sse3", ++ ":u8-rminmax_x64", ++ ":u8-vclamp_f16c-fma-avx2", ++ ":u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":u8-vclamp_sse2-no-sse3", ++ ":u8-vclamp_x64", ++ ":x16-packw_f16c-fma-avx2", ++ ":x16-transposec_f16c-fma-avx2", ++ ":x16-transposec_sse2-no-sse3", ++ ":x16-transposec_x64", ++ ":x16-x32-packw_x64", ++ ":x24-transposec_ssse3-no-sse4.1", ++ ":x24-transposec_x64", ++ ":x32-packw_avx-no-avx2-no-f16c-no-fma", ++ ":x32-packw_avx512f", ++ ":x32-packw_sse2-no-sse3", ++ ":x32-packw_x64", ++ ":x32-transposec_avx-no-avx2-no-f16c-no-fma", ++ ":x32-transposec_sse-no-sse2", ++ ":x32-transposec_x64", ++ ":x32-unpool_sse2-no-sse3", ++ ":x32-unpool_x64", ++ ":x64-transposec_avx-no-avx2-no-f16c-no-fma", ++ ":x64-transposec_sse2-no-sse3", ++ ":x64-transposec_x64", ++ ":x8-lut_avx-no-avx2-no-f16c-no-fma", ++ ":x8-lut_f16c-fma-avx2", ++ ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", ++ ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi", ++ ":x8-lut_x64", ++ ":x8-packq_x64", ++ ":x8-packw_x64", ++ ":x8-transposec_f16c-fma-avx2", ++ ":x8-transposec_sse2-no-sse3", ++ ":x8-transposec_x64", ++ ":xx-copy_x64", ++ ":xx-fill_sse2-no-sse3", ++ ":xx-fill_x64", ++ ":xx-pad_sse2-no-sse3", ++ ":xx-pad_x64", ++ ":xx-transposev_x64" ++ ] ++ } ++ ++ if (build_with_internal_optimization_guide) { ++ xnnpack_standalone_deps = [ ++ ":configs_x64_standalone", ++ ":enums_x64_standalone", ++ ":f16-avgpool_f16c-no-avx2-no-fma_standalone", ++ ":f16-dwconv_f16c-fma-no-avx2_standalone", ++ ":f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f16-f32-vcvt_f16c-no-avx2-no-fma_standalone", ++ ":f16-f32-vcvt_sse2-no-sse3_standalone", ++ ":f16-f32-vcvt_sse4.1-no-sse4.2_standalone", ++ ":f16-f32-vcvt_x64_standalone", ++ ":f16-f32acc-gemm_f16c-fma-avx2_standalone", ++ ":f16-f32acc-igemm_f16c-fma-avx2_standalone", ++ ":f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f16-f32acc-rdsum2_f16c-no-avx2-no-fma_standalone", ++ ":f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone", ++ ":f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f16-f32acc-rsum2_f16c-no-avx2-no-fma_standalone", ++ ":f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone", ++ ":f16-ibilinear_f16c-fma-no-avx2_standalone", ++ ":f16-maxpool_f16c-fma-avx2_standalone", ++ ":f16-maxpool_sse4.1-no-sse4.2_standalone", ++ ":f16-qs8-vcvt_x64_standalone", ++ ":f16-qu8-vcvt_x64_standalone", ++ ":f16-raddstoreexpminusmax_f16c-fma-avx2_standalone", ++ ":f16-rdminmax_x64_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", ++ ":f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone", ++ ":f16-vbinary_f16c-no-avx2-no-fma_standalone", ++ ":f16-vclamp_f16c-no-avx2-no-fma_standalone", ++ ":f16-vcos_x64_standalone", ++ ":f16-velu_f16c-fma-avx2_standalone", ++ ":f16-vexp_x64_standalone", ++ ":f16-vgelu_x64_standalone", ++ ":f16-vhswish_f16c-no-avx2-no-fma_standalone", ++ ":f16-vlrelu_f16c-no-avx2-no-fma_standalone", ++ ":f16-vmulcaddc_f16c-fma-no-avx2_standalone", ++ ":f16-vrnd_f16c-no-avx2-no-fma_standalone", ++ ":f16-vrsqrt_f16c-no-avx2-no-fma_standalone", ++ ":f16-vsigmoid_f16c-fma-avx2_standalone", ++ ":f16-vsin_x64_standalone", ++ ":f16-vsqrt_f16c-no-avx2-no-fma_standalone", ++ ":f16-vtanh_f16c-fma-no-avx2_standalone", ++ ":f16-vtanh_f16c-no-avx2-no-fma_standalone", ++ ":f16-vunary_f16c-no-avx2-no-fma_standalone", ++ ":f16-vunary_sse2-no-sse3_standalone", ++ ":f32-argmaxpool_sse2-no-sse3_standalone", ++ ":f32-argmaxpool_x64_standalone", ++ ":f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-avgpool_avx512f_standalone", ++ ":f32-avgpool_sse2-no-sse3_standalone", ++ ":f32-avgpool_x64_standalone", ++ ":f32-conv-hwc2chw_sse-no-sse2_standalone", ++ ":f32-conv-hwc2chw_x64_standalone", ++ ":f32-dwconv2d-chw_sse-no-sse2_standalone", ++ ":f32-dwconv2d-chw_ssse3-no-sse4.1_standalone", ++ ":f32-dwconv2d-chw_x64_standalone", ++ ":f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-dwconv_avx512f_standalone", ++ ":f32-dwconv_f16c-fma-no-avx2_standalone", ++ ":f32-dwconv_sse-no-sse2_standalone", ++ ":f32-dwconv_x64_standalone", ++ ":f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f32-f16-vcvt_f16c-no-avx2-no-fma_standalone", ++ ":f32-f16-vcvt_sse2-no-sse3_standalone", ++ ":f32-f16-vcvt_sse4.1-no-sse4.2_standalone", ++ ":f32-f16-vcvt_x64_standalone", ++ ":f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-gemm_avx512f_standalone", ++ ":f32-gemm_f16c-fma-no-avx2_standalone", ++ ":f32-gemm_sse-no-sse2_standalone", ++ ":f32-gemm_x64_standalone", ++ ":f32-ibilinear-chw_sse-no-sse2_standalone", ++ ":f32-ibilinear-chw_x64_standalone", ++ ":f32-ibilinear_sse-no-sse2_standalone", ++ ":f32-ibilinear_x64_standalone", ++ ":f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-igemm_avx512f_standalone", ++ ":f32-igemm_f16c-fma-no-avx2_standalone", ++ ":f32-igemm_sse-no-sse2_standalone", ++ ":f32-igemm_x64_standalone", ++ ":f32-maxpool_sse2-no-sse3_standalone", ++ ":f32-maxpool_x64_standalone", ++ ":f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-qc4w-gemm_f16c-fma-avx2_standalone", ++ ":f32-qc4w-gemm_f16c-fma-no-avx2_standalone", ++ ":f32-qc4w-gemm_sse4.1-no-sse4.2_standalone", ++ ":f32-qc4w-gemm_x64_standalone", ++ ":f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-qc8w-gemm_f16c-fma-avx2_standalone", ++ ":f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f32-qc8w-gemm_f16c-fma-no-avx2_standalone", ++ ":f32-qc8w-gemm_sse4.1-no-sse4.2_standalone", ++ ":f32-qc8w-gemm_x64_standalone", ++ ":f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-qs8-vcvt_f16c-fma-avx2_standalone", ++ ":f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f32-qs8-vcvt_sse2-no-sse3_standalone", ++ ":f32-qs8-vcvt_sse4.1-no-sse4.2_standalone", ++ ":f32-qs8-vcvt_x64_standalone", ++ ":f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-qu8-vcvt_f16c-fma-avx2_standalone", ++ ":f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f32-qu8-vcvt_sse2-no-sse3_standalone", ++ ":f32-qu8-vcvt_x64_standalone", ++ ":f32-raddstoreexpminusmax_avx512f_standalone", ++ ":f32-raddstoreexpminusmax_f16c-fma-avx2_standalone", ++ ":f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":f32-raddstoreexpminusmax_sse2-no-sse3_standalone", ++ ":f32-raddstoreexpminusmax_x64_standalone", ++ ":f32-rdminmax_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rdminmax_avx512f_standalone", ++ ":f32-rdminmax_sse2-no-sse3_standalone", ++ ":f32-rdminmax_x64_standalone", ++ ":f32-rdsum2_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rdsum2_avx512f_standalone", ++ ":f32-rdsum2_sse2-no-sse3_standalone", ++ ":f32-rdsum2_x64_standalone", ++ ":f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rdsum_avx512f_standalone", ++ ":f32-rdsum_sse2-no-sse3_standalone", ++ ":f32-rdsum_x64_standalone", ++ ":f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rminmax_avx512f_standalone", ++ ":f32-rminmax_sse-no-sse2_standalone", ++ ":f32-rminmax_x64_standalone", ++ ":f32-rsum2_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rsum2_avx512f_standalone", ++ ":f32-rsum2_sse2-no-sse3_standalone", ++ ":f32-rsum2_x64_standalone", ++ ":f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-rsum_avx512f_standalone", ++ ":f32-rsum_sse2-no-sse3_standalone", ++ ":f32-rsum_x64_standalone", ++ ":f32-spmm_sse-no-sse2_standalone", ++ ":f32-spmm_x64_standalone", ++ ":f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vapproxgelu_avx512f_standalone", ++ ":f32-vapproxgelu_f16c-fma-no-avx2_standalone", ++ ":f32-vapproxgelu_sse2-no-sse3_standalone", ++ ":f32-vapproxgelu_x64_standalone", ++ ":f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vbinary_avx512f_standalone", ++ ":f32-vbinary_sse-no-sse2_standalone", ++ ":f32-vbinary_sse2-no-sse3_standalone", ++ ":f32-vbinary_x64_standalone", ++ ":f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vclamp_avx512f_standalone", ++ ":f32-vclamp_sse2-no-sse3_standalone", ++ ":f32-vclamp_x64_standalone", ++ ":f32-vcmul_avx512f_standalone", ++ ":f32-vcmul_f16c-fma-no-avx2_standalone", ++ ":f32-vcmul_sse-no-sse2_standalone", ++ ":f32-vcmul_x64_standalone", ++ ":f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vcopysign_avx512f_standalone", ++ ":f32-vcopysign_sse2-no-sse3_standalone", ++ ":f32-vcopysign_x64_standalone", ++ ":f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vcos_avx512f_standalone", ++ ":f32-vcos_f16c-fma-no-avx2_standalone", ++ ":f32-vcos_sse2-no-sse3_standalone", ++ ":f32-vcos_x64_standalone", ++ ":f32-velu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-velu_avx512f_standalone", ++ ":f32-velu_f16c-fma-avx2_standalone", ++ ":f32-velu_sse2-no-sse3_standalone", ++ ":f32-velu_x64_standalone", ++ ":f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vexp_avx512f_standalone", ++ ":f32-vexp_f16c-fma-no-avx2_standalone", ++ ":f32-vexp_sse2-no-sse3_standalone", ++ ":f32-vexp_x64_standalone", ++ ":f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vgelu_avx512f_standalone", ++ ":f32-vgelu_f16c-fma-no-avx2_standalone", ++ ":f32-vgelu_sse2-no-sse3_standalone", ++ ":f32-vgelu_x64_standalone", ++ ":f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vhswish_avx512f_standalone", ++ ":f32-vhswish_f16c-fma-no-avx2_standalone", ++ ":f32-vhswish_sse2-no-sse3_standalone", ++ ":f32-vhswish_x64_standalone", ++ ":f32-vlog_avx512f_standalone", ++ ":f32-vlog_f16c-fma-avx2_standalone", ++ ":f32-vlog_f16c-fma-no-avx2_standalone", ++ ":f32-vlog_sse2-no-sse3_standalone", ++ ":f32-vlog_x64_standalone", ++ ":f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vlrelu_avx512f_standalone", ++ ":f32-vlrelu_sse-no-sse2_standalone", ++ ":f32-vlrelu_sse4.1-no-sse4.2_standalone", ++ ":f32-vlrelu_x64_standalone", ++ ":f32-vmulcaddc_sse-no-sse2_standalone", ++ ":f32-vmulcaddc_x64_standalone", ++ ":f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vrnd_avx512f_standalone", ++ ":f32-vrnd_sse2-no-sse3_standalone", ++ ":f32-vrnd_sse4.1-no-sse4.2_standalone", ++ ":f32-vrnd_x64_standalone", ++ ":f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vrsqrt_avx512f_standalone", ++ ":f32-vrsqrt_sse2-no-sse3_standalone", ++ ":f32-vrsqrt_x64_standalone", ++ ":f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vsigmoid_avx512f_standalone", ++ ":f32-vsigmoid_f16c-fma-avx2_standalone", ++ ":f32-vsigmoid_sse2-no-sse3_standalone", ++ ":f32-vsigmoid_sse4.1-no-sse4.2_standalone", ++ ":f32-vsigmoid_x64_standalone", ++ ":f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vsin_avx512f_standalone", ++ ":f32-vsin_f16c-fma-no-avx2_standalone", ++ ":f32-vsin_sse2-no-sse3_standalone", ++ ":f32-vsin_x64_standalone", ++ ":f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vsqrt_avx512f_standalone", ++ ":f32-vsqrt_sse2-no-sse3_standalone", ++ ":f32-vsqrt_x64_standalone", ++ ":f32-vtanh_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vtanh_avx512f_standalone", ++ ":f32-vtanh_f16c-fma-no-avx2_standalone", ++ ":f32-vtanh_sse2-no-sse3_standalone", ++ ":f32-vtanh_x64_standalone", ++ ":f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":f32-vunary_avx512f_standalone", ++ ":f32-vunary_sse2-no-sse3_standalone", ++ ":f32-vunary_x64_standalone", ++ ":operators_x64_standalone", ++ ":qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone", ++ ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qd8-f16-qc4w-gemm_f16c-fma-avx2_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-gfni_standalone", ++ ":qd8-f16-qc8w-gemm_f16c-fma-avx2_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-gfni_standalone", ++ ":qd8-f16-qc8w-igemm_f16c-fma-avx2_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_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-gfni_standalone", ++ ":qd8-f32-qc4w-gemm_f16c-fma-avx2_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-gfni_standalone", ++ ":qd8-f32-qc8w-gemm_f16c-fma-avx2_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-gfni_standalone", ++ ":qd8-f32-qc8w-igemm_f16c-fma-avx2_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", ++ ":qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-dwconv_f16c-fma-avx2_standalone", ++ ":qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-dwconv_sse2-no-sse3_standalone", ++ ":qs8-dwconv_sse4.1-no-sse4.2_standalone", ++ ":qs8-dwconv_x64_standalone", ++ ":qs8-f16-vcvt_f16c-fma-avx2_standalone", ++ ":qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-f32-vcvt_f16c-fma-avx2_standalone", ++ ":qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-f32-vcvt_sse2-no-sse3_standalone", ++ ":qs8-f32-vcvt_sse4.1-no-sse4.2_standalone", ++ ":qs8-f32-vcvt_x64_standalone", ++ ":qs8-packw_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-packw_f16c-fma-avx2_standalone", ++ ":qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", ++ ":qs8-packw_x64_standalone", ++ ":qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-qc4w-gemm_f16c-fma-avx2_standalone", ++ ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", ++ ":qs8-qc4w-gemm_ssse3-no-sse4.1_standalone", ++ ":qs8-qc4w-gemm_x64_standalone", ++ ":qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-qc8w-dwconv_f16c-fma-avx2_standalone", ++ ":qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-qc8w-dwconv_sse2-no-sse3_standalone", ++ ":qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone", ++ ":qs8-qc8w-dwconv_x64_standalone", ++ ":qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni_standalone", ++ ":qs8-qc8w-gemm_f16c-fma-avx2_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", ++ ":qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni_standalone", ++ ":qs8-qc8w-igemm_f16c-fma-avx2_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", ++ ":qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", ++ ":qs8-qu8-packw_x64_standalone", ++ ":qs8-rdsum_f16c-fma-avx2_standalone", ++ ":qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-rdsum_sse4.1-no-sse4.2_standalone", ++ ":qs8-rdsum_x64_standalone", ++ ":qs8-rsum_avx2-avxvnni-f16c-fma-gfni_standalone", ++ ":qs8-rsum_f16c-fma-avx2_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", ++ ":qs8-vadd_f16c-fma-avx2_standalone", ++ ":qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-vadd_sse2-no-sse3_standalone", ++ ":qs8-vadd_sse4.1-no-sse4.2_standalone", ++ ":qs8-vadd_x64_standalone", ++ ":qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-vaddc_f16c-fma-avx2_standalone", ++ ":qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qs8-vaddc_sse2-no-sse3_standalone", ++ ":qs8-vaddc_sse4.1-no-sse4.2_standalone", ++ ":qs8-vaddc_x64_standalone", ++ ":qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-vcvt_f16c-fma-avx2_standalone", ++ ":qs8-vcvt_sse2-no-sse3_standalone", ++ ":qs8-vcvt_sse4.1-no-sse4.2_standalone", ++ ":qs8-vcvt_ssse3-no-sse4.1_standalone", ++ ":qs8-vcvt_x64_standalone", ++ ":qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-vlrelu_f16c-fma-avx2_standalone", ++ ":qs8-vlrelu_sse2-no-sse3_standalone", ++ ":qs8-vlrelu_sse4.1-no-sse4.2_standalone", ++ ":qs8-vlrelu_ssse3-no-sse4.1_standalone", ++ ":qs8-vlrelu_x64_standalone", ++ ":qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-vmul_sse2-no-sse3_standalone", ++ ":qs8-vmul_sse4.1-no-sse4.2_standalone", ++ ":qs8-vmul_x64_standalone", ++ ":qs8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qs8-vmulc_sse2-no-sse3_standalone", ++ ":qs8-vmulc_sse4.1-no-sse4.2_standalone", ++ ":qs8-vmulc_x64_standalone", ++ ":qs8-vprelu_f16c-fma-avx2_standalone", ++ ":qs8-vprelu_x64_standalone", ++ ":qs8-vpreluc_f16c-fma-avx2_standalone", ++ ":qs8-vpreluc_x64_standalone", ++ ":qs8-vrpreluc_f16c-fma-avx2_standalone", ++ ":qs8-vrpreluc_x64_standalone", ++ ":qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-dwconv_f16c-fma-avx2_standalone", ++ ":qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-dwconv_sse2-no-sse3_standalone", ++ ":qu8-dwconv_sse4.1-no-sse4.2_standalone", ++ ":qu8-dwconv_x64_standalone", ++ ":qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-f32-vcvt_f16c-fma-avx2_standalone", ++ ":qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-f32-vcvt_sse2-no-sse3_standalone", ++ ":qu8-f32-vcvt_sse4.1-no-sse4.2_standalone", ++ ":qu8-f32-vcvt_x64_standalone", ++ ":qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-gemm_f16c-fma-avx2_standalone", ++ ":qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-gemm_sse2-no-sse3_standalone", ++ ":qu8-gemm_sse4.1-no-sse4.2_standalone", ++ ":qu8-gemm_x64_standalone", ++ ":qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-igemm_f16c-fma-avx2_standalone", ++ ":qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-igemm_sse2-no-sse3_standalone", ++ ":qu8-igemm_sse4.1-no-sse4.2_standalone", ++ ":qu8-igemm_x64_standalone", ++ ":qu8-rdsum_ssse3-no-sse4.1_standalone", ++ ":qu8-rdsum_x64_standalone", ++ ":qu8-rsum_f16c-fma-avx2_standalone", ++ ":qu8-rsum_sse2-no-sse3_standalone", ++ ":qu8-rsum_x64_standalone", ++ ":qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vadd_f16c-fma-avx2_standalone", ++ ":qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-vadd_sse2-no-sse3_standalone", ++ ":qu8-vadd_sse4.1-no-sse4.2_standalone", ++ ":qu8-vadd_x64_standalone", ++ ":qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vaddc_f16c-fma-avx2_standalone", ++ ":qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":qu8-vaddc_sse2-no-sse3_standalone", ++ ":qu8-vaddc_sse4.1-no-sse4.2_standalone", ++ ":qu8-vaddc_x64_standalone", ++ ":qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vcvt_f16c-fma-avx2_standalone", ++ ":qu8-vcvt_sse2-no-sse3_standalone", ++ ":qu8-vcvt_sse4.1-no-sse4.2_standalone", ++ ":qu8-vcvt_ssse3-no-sse4.1_standalone", ++ ":qu8-vcvt_x64_standalone", ++ ":qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vlrelu_f16c-fma-avx2_standalone", ++ ":qu8-vlrelu_sse2-no-sse3_standalone", ++ ":qu8-vlrelu_sse4.1-no-sse4.2_standalone", ++ ":qu8-vlrelu_ssse3-no-sse4.1_standalone", ++ ":qu8-vlrelu_x64_standalone", ++ ":qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vmul_sse2-no-sse3_standalone", ++ ":qu8-vmul_sse4.1-no-sse4.2_standalone", ++ ":qu8-vmul_x64_standalone", ++ ":qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":qu8-vmulc_sse2-no-sse3_standalone", ++ ":qu8-vmulc_sse4.1-no-sse4.2_standalone", ++ ":qu8-vmulc_x64_standalone", ++ ":qu8-vprelu_f16c-fma-avx2_standalone", ++ ":qu8-vprelu_x64_standalone", ++ ":qu8-vpreluc_f16c-fma-avx2_standalone", ++ ":qu8-vpreluc_x64_standalone", ++ ":qu8-vrpreluc_f16c-fma-avx2_standalone", ++ ":qu8-vrpreluc_x64_standalone", ++ ":reference_x64_standalone", ++ ":s8-ibilinear_sse2-no-sse3_standalone", ++ ":s8-ibilinear_sse4.1-no-sse4.2_standalone", ++ ":s8-ibilinear_x64_standalone", ++ ":s8-maxpool_sse4.1-no-sse4.2_standalone", ++ ":s8-maxpool_x64_standalone", ++ ":s8-rdminmax_sse4.1-no-sse4.2_standalone", ++ ":s8-rdminmax_x64_standalone", ++ ":s8-rminmax_sse4.1-no-sse4.2_standalone", ++ ":s8-rminmax_x64_standalone", ++ ":s8-vclamp_f16c-fma-avx2_standalone", ++ ":s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":s8-vclamp_sse2-no-sse3_standalone", ++ ":s8-vclamp_sse4.1-no-sse4.2_standalone", ++ ":s8-vclamp_x64_standalone", ++ ":subgraph_x64_standalone", ++ ":tables_x64_standalone", ++ ":u8-ibilinear_sse2-no-sse3_standalone", ++ ":u8-ibilinear_sse4.1-no-sse4.2_standalone", ++ ":u8-ibilinear_x64_standalone", ++ ":u8-lut32norm_x64_standalone", ++ ":u8-maxpool_sse2-no-sse3_standalone", ++ ":u8-maxpool_x64_standalone", ++ ":u8-rdminmax_sse2-no-sse3_standalone", ++ ":u8-rdminmax_x64_standalone", ++ ":u8-rminmax_sse2-no-sse3_standalone", ++ ":u8-rminmax_x64_standalone", ++ ":u8-vclamp_f16c-fma-avx2_standalone", ++ ":u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", ++ ":u8-vclamp_sse2-no-sse3_standalone", ++ ":u8-vclamp_x64_standalone", ++ ":x16-packw_f16c-fma-avx2_standalone", ++ ":x16-transposec_f16c-fma-avx2_standalone", ++ ":x16-transposec_sse2-no-sse3_standalone", ++ ":x16-transposec_x64_standalone", ++ ":x16-x32-packw_x64_standalone", ++ ":x24-transposec_ssse3-no-sse4.1_standalone", ++ ":x24-transposec_x64_standalone", ++ ":x32-packw_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":x32-packw_avx512f_standalone", ++ ":x32-packw_sse2-no-sse3_standalone", ++ ":x32-packw_x64_standalone", ++ ":x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":x32-transposec_sse-no-sse2_standalone", ++ ":x32-transposec_x64_standalone", ++ ":x32-unpool_sse2-no-sse3_standalone", ++ ":x32-unpool_x64_standalone", ++ ":x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone", ++ ":x64-transposec_sse2-no-sse3_standalone", ++ ":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_standalone", ++ ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone", ++ ":x8-lut_x64_standalone", ++ ":x8-packq_x64_standalone", ++ ":x8-packw_x64_standalone", ++ ":x8-transposec_f16c-fma-avx2_standalone", ++ ":x8-transposec_sse2-no-sse3_standalone", ++ ":x8-transposec_x64_standalone", ++ ":xx-copy_x64_standalone", ++ ":xx-fill_sse2-no-sse3_standalone", ++ ":xx-fill_x64_standalone", ++ ":xx-pad_sse2-no-sse3_standalone", ++ ":xx-pad_x64_standalone", ++ ":xx-transposev_x64_standalone" ++ ] ++ } ++} else ++if (current_cpu == "arm64") { ++ + if (build_with_chromium) { + xnnpack_deps = [ +- ":configs_x64", +- ":enums_x64", +- ":f16-avgpool_f16c-no-avx2-no-fma", +- ":f16-dwconv_f16c-fma-no-avx2", +- ":f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-f32-vcvt_f16c-no-avx2-no-fma", +- ":f16-f32-vcvt_sse2-no-sse3", +- ":f16-f32-vcvt_sse4.1-no-sse4.2", +- ":f16-f32-vcvt_x64", +- ":f16-f32acc-gemm_f16c-fma-avx2", +- ":f16-f32acc-igemm_f16c-fma-avx2", +- ":f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-f32acc-rdsum2_f16c-no-avx2-no-fma", +- ":f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-f32acc-rdsum_f16c-no-avx2-no-fma", +- ":f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-f32acc-rsum2_f16c-no-avx2-no-fma", +- ":f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-f32acc-rsum_f16c-no-avx2-no-fma", +- ":f16-ibilinear_f16c-fma-no-avx2", +- ":f16-maxpool_f16c-fma-avx2", +- ":f16-maxpool_sse4.1-no-sse4.2", +- ":f16-qs8-vcvt_x64", +- ":f16-qu8-vcvt_x64", +- ":f16-raddstoreexpminusmax_f16c-fma-avx2", +- ":f16-rdminmax_x64", +- ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16", +- ":f16-rminmax_f16c-no-avx2-no-fma", +- ":f16-rminmax_x64", +- ":f16-vapproxgelu_x64", +- ":f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16", +- ":f16-vbinary_f16c-no-avx2-no-fma", +- ":f16-vclamp_f16c-no-avx2-no-fma", +- ":f16-vcos_x64", +- ":f16-velu_f16c-fma-avx2", +- ":f16-vexp_x64", +- ":f16-vgelu_x64", +- ":f16-vhswish_f16c-no-avx2-no-fma", +- ":f16-vlrelu_f16c-no-avx2-no-fma", +- ":f16-vmulcaddc_f16c-fma-no-avx2", +- ":f16-vrnd_f16c-no-avx2-no-fma", +- ":f16-vrsqrt_f16c-no-avx2-no-fma", +- ":f16-vsigmoid_f16c-fma-avx2", +- ":f16-vsin_x64", +- ":f16-vsqrt_f16c-no-avx2-no-fma", +- ":f16-vtanh_f16c-fma-no-avx2", +- ":f16-vtanh_f16c-no-avx2-no-fma", +- ":f16-vunary_f16c-no-avx2-no-fma", +- ":f16-vunary_sse2-no-sse3", +- ":f32-argmaxpool_sse2-no-sse3", +- ":f32-argmaxpool_x64", +- ":f32-avgpool_avx-no-avx2-no-f16c-no-fma", +- ":f32-avgpool_avx512f", +- ":f32-avgpool_sse2-no-sse3", +- ":f32-avgpool_x64", +- ":f32-conv-hwc2chw_sse-no-sse2", +- ":f32-conv-hwc2chw_x64", +- ":f32-dwconv2d-chw_sse-no-sse2", +- ":f32-dwconv2d-chw_ssse3-no-sse4.1", +- ":f32-dwconv2d-chw_x64", +- ":f32-dwconv_avx-no-avx2-no-f16c-no-fma", +- ":f32-dwconv_avx512f", +- ":f32-dwconv_f16c-fma-no-avx2", +- ":f32-dwconv_sse-no-sse2", +- ":f32-dwconv_x64", +- ":f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f32-f16-vcvt_f16c-no-avx2-no-fma", +- ":f32-f16-vcvt_sse2-no-sse3", +- ":f32-f16-vcvt_sse4.1-no-sse4.2", +- ":f32-f16-vcvt_x64", +- ":f32-gemm_avx-no-avx2-no-f16c-no-fma", +- ":f32-gemm_avx512f", +- ":f32-gemm_f16c-fma-no-avx2", +- ":f32-gemm_sse-no-sse2", +- ":f32-gemm_x64", +- ":f32-ibilinear-chw_sse-no-sse2", +- ":f32-ibilinear-chw_x64", +- ":f32-ibilinear_sse-no-sse2", +- ":f32-ibilinear_x64", +- ":f32-igemm_avx-no-avx2-no-f16c-no-fma", +- ":f32-igemm_avx512f", +- ":f32-igemm_f16c-fma-no-avx2", +- ":f32-igemm_sse-no-sse2", +- ":f32-igemm_x64", +- ":f32-maxpool_sse2-no-sse3", +- ":f32-maxpool_x64", +- ":f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma", +- ":f32-qc4w-gemm_f16c-fma-avx2", +- ":f32-qc4w-gemm_f16c-fma-no-avx2", +- ":f32-qc4w-gemm_sse4.1-no-sse4.2", +- ":f32-qc4w-gemm_x64", +- ":f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma", +- ":f32-qc8w-gemm_f16c-fma-avx2", +- ":f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f32-qc8w-gemm_f16c-fma-no-avx2", +- ":f32-qc8w-gemm_sse4.1-no-sse4.2", +- ":f32-qc8w-gemm_x64", +- ":f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":f32-qs8-vcvt_f16c-fma-avx2", +- ":f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f32-qs8-vcvt_sse2-no-sse3", +- ":f32-qs8-vcvt_sse4.1-no-sse4.2", +- ":f32-qs8-vcvt_x64", +- ":f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":f32-qu8-vcvt_f16c-fma-avx2", +- ":f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f32-qu8-vcvt_sse2-no-sse3", +- ":f32-qu8-vcvt_x64", +- ":f32-raddstoreexpminusmax_avx512f", +- ":f32-raddstoreexpminusmax_f16c-fma-avx2", +- ":f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":f32-raddstoreexpminusmax_sse2-no-sse3", +- ":f32-raddstoreexpminusmax_x64", +- ":f32-rdminmax_avx-no-avx2-no-f16c-no-fma", +- ":f32-rdminmax_avx512f", +- ":f32-rdminmax_sse2-no-sse3", +- ":f32-rdminmax_x64", +- ":f32-rdsum2_avx-no-avx2-no-f16c-no-fma", +- ":f32-rdsum2_avx512f", +- ":f32-rdsum2_sse2-no-sse3", +- ":f32-rdsum2_x64", +- ":f32-rdsum_avx-no-avx2-no-f16c-no-fma", +- ":f32-rdsum_avx512f", +- ":f32-rdsum_sse2-no-sse3", +- ":f32-rdsum_x64", +- ":f32-rminmax_avx-no-avx2-no-f16c-no-fma", +- ":f32-rminmax_avx512f", +- ":f32-rminmax_sse-no-sse2", +- ":f32-rminmax_x64", +- ":f32-rsum2_avx-no-avx2-no-f16c-no-fma", +- ":f32-rsum2_avx512f", +- ":f32-rsum2_sse2-no-sse3", +- ":f32-rsum2_x64", +- ":f32-rsum_avx-no-avx2-no-f16c-no-fma", +- ":f32-rsum_avx512f", +- ":f32-rsum_sse2-no-sse3", +- ":f32-rsum_x64", +- ":f32-spmm_sse-no-sse2", +- ":f32-spmm_x64", +- ":f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma", +- ":f32-vapproxgelu_avx512f", +- ":f32-vapproxgelu_f16c-fma-no-avx2", +- ":f32-vapproxgelu_sse2-no-sse3", +- ":f32-vapproxgelu_x64", +- ":f32-vbinary_avx-no-avx2-no-f16c-no-fma", +- ":f32-vbinary_avx512f", +- ":f32-vbinary_sse-no-sse2", +- ":f32-vbinary_sse2-no-sse3", +- ":f32-vbinary_x64", +- ":f32-vclamp_avx-no-avx2-no-f16c-no-fma", +- ":f32-vclamp_avx512f", +- ":f32-vclamp_sse2-no-sse3", +- ":f32-vclamp_x64", +- ":f32-vcmul_avx512f", +- ":f32-vcmul_f16c-fma-no-avx2", +- ":f32-vcmul_sse-no-sse2", +- ":f32-vcmul_x64", +- ":f32-vcopysign_avx-no-avx2-no-f16c-no-fma", +- ":f32-vcopysign_avx512f", +- ":f32-vcopysign_sse2-no-sse3", +- ":f32-vcopysign_x64", +- ":f32-vcos_avx-no-avx2-no-f16c-no-fma", +- ":f32-vcos_avx512f", +- ":f32-vcos_f16c-fma-no-avx2", +- ":f32-vcos_sse2-no-sse3", +- ":f32-vcos_x64", +- ":f32-velu_avx-no-avx2-no-f16c-no-fma", +- ":f32-velu_avx512f", +- ":f32-velu_f16c-fma-avx2", +- ":f32-velu_sse2-no-sse3", +- ":f32-velu_x64", +- ":f32-vexp_avx-no-avx2-no-f16c-no-fma", +- ":f32-vexp_avx512f", +- ":f32-vexp_f16c-fma-no-avx2", +- ":f32-vexp_sse2-no-sse3", +- ":f32-vexp_x64", +- ":f32-vgelu_avx-no-avx2-no-f16c-no-fma", +- ":f32-vgelu_avx512f", +- ":f32-vgelu_f16c-fma-no-avx2", +- ":f32-vgelu_sse2-no-sse3", +- ":f32-vgelu_x64", +- ":f32-vhswish_avx-no-avx2-no-f16c-no-fma", +- ":f32-vhswish_avx512f", +- ":f32-vhswish_f16c-fma-no-avx2", +- ":f32-vhswish_sse2-no-sse3", +- ":f32-vhswish_x64", +- ":f32-vlog_avx512f", +- ":f32-vlog_f16c-fma-avx2", +- ":f32-vlog_f16c-fma-no-avx2", +- ":f32-vlog_sse2-no-sse3", +- ":f32-vlog_x64", +- ":f32-vlrelu_avx-no-avx2-no-f16c-no-fma", +- ":f32-vlrelu_avx512f", +- ":f32-vlrelu_sse-no-sse2", +- ":f32-vlrelu_sse4.1-no-sse4.2", +- ":f32-vlrelu_x64", +- ":f32-vmulcaddc_sse-no-sse2", +- ":f32-vmulcaddc_x64", +- ":f32-vrnd_avx-no-avx2-no-f16c-no-fma", +- ":f32-vrnd_avx512f", +- ":f32-vrnd_sse2-no-sse3", +- ":f32-vrnd_sse4.1-no-sse4.2", +- ":f32-vrnd_x64", +- ":f32-vrsqrt_avx-no-avx2-no-f16c-no-fma", +- ":f32-vrsqrt_avx512f", +- ":f32-vrsqrt_sse2-no-sse3", +- ":f32-vrsqrt_x64", +- ":f32-vsigmoid_avx-no-avx2-no-f16c-no-fma", +- ":f32-vsigmoid_avx512f", +- ":f32-vsigmoid_f16c-fma-avx2", +- ":f32-vsigmoid_sse2-no-sse3", +- ":f32-vsigmoid_sse4.1-no-sse4.2", +- ":f32-vsigmoid_x64", +- ":f32-vsin_avx-no-avx2-no-f16c-no-fma", +- ":f32-vsin_avx512f", +- ":f32-vsin_f16c-fma-no-avx2", +- ":f32-vsin_sse2-no-sse3", +- ":f32-vsin_x64", +- ":f32-vsqrt_avx-no-avx2-no-f16c-no-fma", +- ":f32-vsqrt_avx512f", +- ":f32-vsqrt_sse2-no-sse3", +- ":f32-vsqrt_x64", +- ":f32-vtanh_avx-no-avx2-no-f16c-no-fma", +- ":f32-vtanh_avx512f", +- ":f32-vtanh_f16c-fma-no-avx2", +- ":f32-vtanh_sse2-no-sse3", +- ":f32-vtanh_x64", +- ":f32-vunary_avx-no-avx2-no-f16c-no-fma", +- ":f32-vunary_avx512f", +- ":f32-vunary_sse2-no-sse3", +- ":f32-vunary_x64", +- ":operators_x64", +- ":qd8-f16-qb4w-gemm_f16c-fma-avx2", +- ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f16-qc4w-gemm_f16c-fma-avx2", +- ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f16-qc8w-gemm_f16c-fma-avx2", +- ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f16-qc8w-igemm_f16c-fma-avx2", +- ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma", +- ":qd8-f32-qb4w-gemm_f16c-fma-avx2", +- ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni", +- ":qd8-f32-qb4w-gemm_sse2-no-sse3", +- ":qd8-f32-qb4w-gemm_sse4.1-no-sse4.2", +- ":qd8-f32-qb4w-gemm_x64", +- ":qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f32-qc4w-gemm_f16c-fma-avx2", +- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni", +- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qd8-f32-qc4w-gemm_sse2-no-sse3", +- ":qd8-f32-qc4w-gemm_ssse3-no-sse4.1", +- ":qd8-f32-qc4w-gemm_x64", +- ":qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f32-qc8w-gemm_f16c-fma-avx2", +- ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qd8-f32-qc8w-gemm_sse2-no-sse3", +- ":qd8-f32-qc8w-gemm_sse4.1-no-sse4.2", +- ":qd8-f32-qc8w-gemm_x64", +- ":qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", +- ":qd8-f32-qc8w-igemm_f16c-fma-avx2", +- ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qd8-f32-qc8w-igemm_sse2-no-sse3", +- ":qd8-f32-qc8w-igemm_sse4.1-no-sse4.2", +- ":qd8-f32-qc8w-igemm_x64", +- ":qs8-dwconv_avx-no-avx2-no-f16c-no-fma", +- ":qs8-dwconv_f16c-fma-avx2", +- ":qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-dwconv_sse2-no-sse3", +- ":qs8-dwconv_sse4.1-no-sse4.2", +- ":qs8-dwconv_x64", +- ":qs8-f16-vcvt_f16c-fma-avx2", +- ":qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":qs8-f32-vcvt_f16c-fma-avx2", +- ":qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-f32-vcvt_sse2-no-sse3", +- ":qs8-f32-vcvt_sse4.1-no-sse4.2", +- ":qs8-f32-vcvt_x64", +- ":qs8-packw_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-packw_f16c-fma-avx2", +- ":qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-packw_x64", +- ":qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma", +- ":qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-qc4w-gemm_f16c-fma-avx2", +- ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-qc4w-gemm_ssse3-no-sse4.1", +- ":qs8-qc4w-gemm_x64", +- ":qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma", +- ":qs8-qc8w-dwconv_f16c-fma-avx2", +- ":qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-qc8w-dwconv_sse2-no-sse3", +- ":qs8-qc8w-dwconv_sse4.1-no-sse4.2", +- ":qs8-qc8w-dwconv_x64", +- ":qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma", +- ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni", +- ":qs8-qc8w-gemm_f16c-fma-avx2", +- ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qs8-qc8w-gemm_sse2-no-sse3", +- ":qs8-qc8w-gemm_sse4.1-no-sse4.2", +- ":qs8-qc8w-gemm_x64", +- ":qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma", +- ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni", +- ":qs8-qc8w-igemm_f16c-fma-avx2", +- ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8", +- ":qs8-qc8w-igemm_sse2-no-sse3", +- ":qs8-qc8w-igemm_sse4.1-no-sse4.2", +- ":qs8-qc8w-igemm_x64", +- ":qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-qu8-packw_x64", +- ":qs8-rdsum_f16c-fma-avx2", +- ":qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-rdsum_sse4.1-no-sse4.2", +- ":qs8-rdsum_x64", +- ":qs8-rsum_avx2-avxvnni-f16c-fma-gfni", +- ":qs8-rsum_f16c-fma-avx2", +- ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni", +- ":qs8-rsum_ssse3-no-sse4.1", +- ":qs8-rsum_x64", +- ":qs8-vadd_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vadd_f16c-fma-avx2", +- ":qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-vadd_sse2-no-sse3", +- ":qs8-vadd_sse4.1-no-sse4.2", +- ":qs8-vadd_x64", +- ":qs8-vaddc_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vaddc_f16c-fma-avx2", +- ":qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qs8-vaddc_sse2-no-sse3", +- ":qs8-vaddc_sse4.1-no-sse4.2", +- ":qs8-vaddc_x64", +- ":qs8-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vcvt_f16c-fma-avx2", +- ":qs8-vcvt_sse2-no-sse3", +- ":qs8-vcvt_sse4.1-no-sse4.2", +- ":qs8-vcvt_ssse3-no-sse4.1", +- ":qs8-vcvt_x64", +- ":qs8-vlrelu_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vlrelu_f16c-fma-avx2", +- ":qs8-vlrelu_sse2-no-sse3", +- ":qs8-vlrelu_sse4.1-no-sse4.2", +- ":qs8-vlrelu_ssse3-no-sse4.1", +- ":qs8-vlrelu_x64", +- ":qs8-vmul_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vmul_sse2-no-sse3", +- ":qs8-vmul_sse4.1-no-sse4.2", +- ":qs8-vmul_x64", +- ":qs8-vmulc_avx-no-avx2-no-f16c-no-fma", +- ":qs8-vmulc_sse2-no-sse3", +- ":qs8-vmulc_sse4.1-no-sse4.2", +- ":qs8-vmulc_x64", +- ":qs8-vprelu_f16c-fma-avx2", +- ":qs8-vprelu_x64", +- ":qs8-vpreluc_f16c-fma-avx2", +- ":qs8-vpreluc_x64", +- ":qs8-vrpreluc_f16c-fma-avx2", +- ":qs8-vrpreluc_x64", +- ":qu8-dwconv_avx-no-avx2-no-f16c-no-fma", +- ":qu8-dwconv_f16c-fma-avx2", +- ":qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-dwconv_sse2-no-sse3", +- ":qu8-dwconv_sse4.1-no-sse4.2", +- ":qu8-dwconv_x64", +- ":qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":qu8-f32-vcvt_f16c-fma-avx2", +- ":qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-f32-vcvt_sse2-no-sse3", +- ":qu8-f32-vcvt_sse4.1-no-sse4.2", +- ":qu8-f32-vcvt_x64", +- ":qu8-gemm_avx-no-avx2-no-f16c-no-fma", +- ":qu8-gemm_f16c-fma-avx2", +- ":qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-gemm_sse2-no-sse3", +- ":qu8-gemm_sse4.1-no-sse4.2", +- ":qu8-gemm_x64", +- ":qu8-igemm_avx-no-avx2-no-f16c-no-fma", +- ":qu8-igemm_f16c-fma-avx2", +- ":qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-igemm_sse2-no-sse3", +- ":qu8-igemm_sse4.1-no-sse4.2", +- ":qu8-igemm_x64", +- ":qu8-rdsum_ssse3-no-sse4.1", +- ":qu8-rdsum_x64", +- ":qu8-rsum_f16c-fma-avx2", +- ":qu8-rsum_sse2-no-sse3", +- ":qu8-rsum_x64", +- ":qu8-vadd_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vadd_f16c-fma-avx2", +- ":qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-vadd_sse2-no-sse3", +- ":qu8-vadd_sse4.1-no-sse4.2", +- ":qu8-vadd_x64", +- ":qu8-vaddc_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vaddc_f16c-fma-avx2", +- ":qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":qu8-vaddc_sse2-no-sse3", +- ":qu8-vaddc_sse4.1-no-sse4.2", +- ":qu8-vaddc_x64", +- ":qu8-vcvt_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vcvt_f16c-fma-avx2", +- ":qu8-vcvt_sse2-no-sse3", +- ":qu8-vcvt_sse4.1-no-sse4.2", +- ":qu8-vcvt_ssse3-no-sse4.1", +- ":qu8-vcvt_x64", +- ":qu8-vlrelu_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vlrelu_f16c-fma-avx2", +- ":qu8-vlrelu_sse2-no-sse3", +- ":qu8-vlrelu_sse4.1-no-sse4.2", +- ":qu8-vlrelu_ssse3-no-sse4.1", +- ":qu8-vlrelu_x64", +- ":qu8-vmul_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vmul_sse2-no-sse3", +- ":qu8-vmul_sse4.1-no-sse4.2", +- ":qu8-vmul_x64", +- ":qu8-vmulc_avx-no-avx2-no-f16c-no-fma", +- ":qu8-vmulc_sse2-no-sse3", +- ":qu8-vmulc_sse4.1-no-sse4.2", +- ":qu8-vmulc_x64", +- ":qu8-vprelu_f16c-fma-avx2", +- ":qu8-vprelu_x64", +- ":qu8-vpreluc_f16c-fma-avx2", +- ":qu8-vpreluc_x64", +- ":qu8-vrpreluc_f16c-fma-avx2", +- ":qu8-vrpreluc_x64", +- ":reference_x64", +- ":s8-ibilinear_sse2-no-sse3", +- ":s8-ibilinear_sse4.1-no-sse4.2", +- ":s8-ibilinear_x64", +- ":s8-maxpool_sse4.1-no-sse4.2", +- ":s8-maxpool_x64", +- ":s8-rdminmax_sse4.1-no-sse4.2", +- ":s8-rdminmax_x64", +- ":s8-rminmax_sse4.1-no-sse4.2", +- ":s8-rminmax_x64", +- ":s8-vclamp_f16c-fma-avx2", +- ":s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":s8-vclamp_sse2-no-sse3", +- ":s8-vclamp_sse4.1-no-sse4.2", +- ":s8-vclamp_x64", +- ":subgraph_x64", +- ":tables_x64", +- ":u8-ibilinear_sse2-no-sse3", +- ":u8-ibilinear_sse4.1-no-sse4.2", +- ":u8-ibilinear_x64", +- ":u8-lut32norm_x64", +- ":u8-maxpool_sse2-no-sse3", +- ":u8-maxpool_x64", +- ":u8-rdminmax_sse2-no-sse3", +- ":u8-rdminmax_x64", +- ":u8-rminmax_sse2-no-sse3", +- ":u8-rminmax_x64", +- ":u8-vclamp_f16c-fma-avx2", +- ":u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":u8-vclamp_sse2-no-sse3", +- ":u8-vclamp_x64", +- ":x16-packw_f16c-fma-avx2", +- ":x16-transposec_f16c-fma-avx2", +- ":x16-transposec_sse2-no-sse3", +- ":x16-transposec_x64", +- ":x16-x32-packw_x64", +- ":x24-transposec_ssse3-no-sse4.1", +- ":x24-transposec_x64", +- ":x32-packw_avx-no-avx2-no-f16c-no-fma", +- ":x32-packw_avx512f", +- ":x32-packw_sse2-no-sse3", +- ":x32-packw_x64", +- ":x32-transposec_avx-no-avx2-no-f16c-no-fma", +- ":x32-transposec_sse-no-sse2", +- ":x32-transposec_x64", +- ":x32-unpool_sse2-no-sse3", +- ":x32-unpool_x64", +- ":x64-transposec_avx-no-avx2-no-f16c-no-fma", +- ":x64-transposec_sse2-no-sse3", +- ":x64-transposec_x64", +- ":x8-lut_avx-no-avx2-no-f16c-no-fma", +- ":x8-lut_f16c-fma-avx2", +- ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl", +- ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi", +- ":x8-lut_x64", +- ":x8-packq_x64", +- ":x8-packw_x64", +- ":x8-transposec_f16c-fma-avx2", +- ":x8-transposec_sse2-no-sse3", +- ":x8-transposec_x64", +- ":xx-copy_x64", +- ":xx-fill_sse2-no-sse3", +- ":xx-fill_x64", +- ":xx-pad_sse2-no-sse3", +- ":xx-pad_x64", +- ":xx-transposev_x64", ++ ":configs_arm64", ++ ":enums_arm64", ++ ":f16-avgpool_arch=armv8.2-a+fp16", ++ ":f16-conv-hwc2chw_arch=armv8.2-a+fp16", ++ ":f16-dwconv2d-chw_arch=armv8.2-a+fp16", ++ ":f16-dwconv_arch=armv8.2-a+fp16", ++ ":f16-f32-vcvt_arm64", ++ ":f16-f32acc-rdsum2_arch=armv8.2-a+fp16", ++ ":f16-f32acc-rdsum_arch=armv8.2-a+fp16", ++ ":f16-f32acc-rsum2_arch=armv8.2-a+fp16", ++ ":f16-f32acc-rsum_arch=armv8.2-a+fp16", ++ ":f16-gemm_arch=armv8.2-a+fp16", ++ ":f16-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":f16-ibilinear-chw_arch=armv8.2-a+fp16", ++ ":f16-ibilinear_arch=armv8.2-a+fp16", ++ ":f16-igemm_arch=armv8.2-a+fp16", ++ ":f16-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":f16-maxpool_arch=armv8.2-a+fp16", ++ ":f16-qs8-vcvt_arch=armv8.2-a+fp16", ++ ":f16-qs8-vcvt_arm64", ++ ":f16-qu8-vcvt_arm64", ++ ":f16-raddstoreexpminusmax_arch=armv8.2-a+fp16", ++ ":f16-rdminmax_arch=armv8.2-a+fp16", ++ ":f16-rdminmax_arm64", ++ ":f16-rminmax_arch=armv8.2-a+fp16", ++ ":f16-rminmax_arm64", ++ ":f16-spmm_arch=armv8.2-a+fp16", ++ ":f16-vapproxgelu_arch=armv8.2-a+fp16", ++ ":f16-vapproxgelu_arm64", ++ ":f16-vbinary_arch=armv8.2-a+fp16", ++ ":f16-vclamp_arch=armv8.2-a+fp16", ++ ":f16-vcmul_arch=armv8.2-a+fp16", ++ ":f16-vcos_arch=armv8.2-a+fp16", ++ ":f16-vcos_arm64", ++ ":f16-velu_arch=armv8.2-a+fp16", ++ ":f16-vexp_arch=armv8.2-a+fp16", ++ ":f16-vexp_arm64", ++ ":f16-vgelu_arch=armv8.2-a+fp16", ++ ":f16-vgelu_arm64", ++ ":f16-vhswish_arch=armv8.2-a+fp16", ++ ":f16-vlrelu_arch=armv8.2-a+fp16", ++ ":f16-vmulcaddc_arch=armv8.2-a+fp16", ++ ":f16-vrnd_arch=armv8.2-a+fp16", ++ ":f16-vrsqrt_arch=armv8.2-a+fp16", ++ ":f16-vsigmoid_arch=armv8.2-a+fp16", ++ ":f16-vsin_arch=armv8.2-a+fp16", ++ ":f16-vsin_arm64", ++ ":f16-vsqrt_arch=armv8.2-a+fp16", ++ ":f16-vtanh_arch=armv8.2-a+fp16", ++ ":f16-vunary_arch=armv8.2-a+fp16", ++ ":f32-argmaxpool_arm64", ++ ":f32-avgpool_arm64", ++ ":f32-conv-hwc2chw_arm64", ++ ":f32-dwconv2d-chw_arm64", ++ ":f32-dwconv_arch=armv8.2-a+fp16+dotprod", ++ ":f32-dwconv_arm64", ++ ":f32-f16-vcvt_arm64", ++ ":f32-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":f32-gemm_arm64", ++ ":f32-ibilinear-chw_arm64", ++ ":f32-ibilinear_arm64", ++ ":f32-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":f32-igemm_arm64", ++ ":f32-maxpool_arm64", ++ ":f32-qc4w-gemm_arm64", ++ ":f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":f32-qc8w-gemm_arm64", ++ ":f32-qs8-vcvt_arm64", ++ ":f32-qu8-vcvt_arm64", ++ ":f32-raddstoreexpminusmax_arm64", ++ ":f32-rdminmax_arm64", ++ ":f32-rdsum2_arm64", ++ ":f32-rdsum_arm64", ++ ":f32-rminmax_arm64", ++ ":f32-rsum2_arm64", ++ ":f32-rsum_arm64", ++ ":f32-spmm_arm64", ++ ":f32-vapproxgelu_arm64", ++ ":f32-vbinary_arm64", ++ ":f32-vclamp_arm64", ++ ":f32-vcmul_arm64", ++ ":f32-vcopysign_arm64", ++ ":f32-vcos_arm64", ++ ":f32-velu_arm64", ++ ":f32-vexp_arm64", ++ ":f32-vgelu_arm64", ++ ":f32-vhswish_arm64", ++ ":f32-vlog_arm64", ++ ":f32-vlrelu_arm64", ++ ":f32-vmulcaddc_arm64", ++ ":f32-vrnd_arm64", ++ ":f32-vrsqrt_arm64", ++ ":f32-vsigmoid_arm64", ++ ":f32-vsin_arm64", ++ ":f32-vsqrt_arm64", ++ ":f32-vtanh_arm64", ++ ":f32-vunary_arm64", ++ ":operators_arm64", ++ ":pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2", ++ ":pf16-gemm_arch=armv8.2-a+sve+sve2", ++ ":pf32-gemm_arch=armv8.2-a+sve+sve2", ++ ":pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2", ++ ":pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2", ++ ":qb4-packw_arch=armv8.2-a+dotprod", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16", ++ ":qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16", ++ ":qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16", ++ ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16", ++ ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16", ++ ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16", ++ ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod", ++ ":qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f32-qb4w-gemm_arm64", ++ ":qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod", ++ ":qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod", ++ ":qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f32-qc4w-gemm_arm64", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f32-qc8w-gemm_arm64", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", ++ ":qd8-f32-qc8w-igemm_arm64", ++ ":qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod", ++ ":qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2", ++ ":qs8-dwconv_arm64", ++ ":qs8-f16-vcvt_arch=armv8.2-a+fp16", ++ ":qs8-f32-vcvt_arm64", ++ ":qs8-packw_arm64", ++ ":qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":qs8-qc4w-gemm_arm64", ++ ":qs8-qc8w-dwconv_arm64", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+dotprod", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", ++ ":qs8-qc8w-gemm_arm64", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+dotprod", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", ++ ":qs8-qc8w-igemm_arm64", ++ ":qs8-qu8-packw_arm64", ++ ":qs8-rdsum_arm64", ++ ":qs8-rsum_arch=armv8.2-a+dotprod", ++ ":qs8-rsum_arm64", ++ ":qs8-vadd_arm64", ++ ":qs8-vaddc_arm64", ++ ":qs8-vcvt_arm64", ++ ":qs8-vlrelu_arm64", ++ ":qs8-vmul_arm64", ++ ":qs8-vmulc_arm64", ++ ":qs8-vprelu_arm64", ++ ":qs8-vpreluc_arm64", ++ ":qs8-vrpreluc_arm64", ++ ":qu8-dwconv_arm64", ++ ":qu8-f32-vcvt_arm64", ++ ":qu8-gemm_arch=armv8.2-a+fp16+dotprod", ++ ":qu8-gemm_arm64", ++ ":qu8-igemm_arch=armv8.2-a+fp16+dotprod", ++ ":qu8-igemm_arm64", ++ ":qu8-rdsum_arm64", ++ ":qu8-rsum_arm64", ++ ":qu8-vadd_arm64", ++ ":qu8-vaddc_arm64", ++ ":qu8-vcvt_arm64", ++ ":qu8-vlrelu_arm64", ++ ":qu8-vmul_arm64", ++ ":qu8-vmulc_arm64", ++ ":qu8-vprelu_arm64", ++ ":qu8-vpreluc_arm64", ++ ":qu8-vrpreluc_arm64", ++ ":reference_arm64", ++ ":s8-ibilinear_arm64", ++ ":s8-maxpool_arm64", ++ ":s8-rdminmax_arm64", ++ ":s8-rminmax_arm64", ++ ":s8-vclamp_arm64", ++ ":subgraph_arm64", ++ ":tables_arm64", ++ ":u8-ibilinear_arm64", ++ ":u8-lut32norm_arm64", ++ ":u8-maxpool_arm64", ++ ":u8-rdminmax_arm64", ++ ":u8-rminmax_arm64", ++ ":u8-vclamp_arm64", ++ ":x16-pack-lh_arch=armv8.2-a+sve+sve2", ++ ":x16-packw_arm64", ++ ":x16-transposec_arm64", ++ ":x16-x32-packw_arm64", ++ ":x24-transposec_arm64", ++ ":x32-pack-lh_arch=armv8.2-a+sve+sve2", ++ ":x32-packw_arm64", ++ ":x32-transposec_arm64", ++ ":x32-unpool_arm64", ++ ":x64-transposec_arm64", ++ ":x8-lut_arm64", ++ ":x8-pack-lh_arch=armv8.2-a+sve+sve2", ++ ":x8-packq_arm64", ++ ":x8-packw_arm64", ++ ":x8-transposec_arm64", ++ ":xx-copy_arm64", ++ ":xx-fill_arm64", ++ ":xx-pad_arm64", ++ ":xx-transposev_arm64" + ] + } + + if (build_with_internal_optimization_guide) { + xnnpack_standalone_deps = [ +- ":configs_x64_standalone", +- ":enums_x64_standalone", +- ":f16-avgpool_f16c-no-avx2-no-fma_standalone", +- ":f16-dwconv_f16c-fma-no-avx2_standalone", +- ":f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f16-f32-vcvt_f16c-no-avx2-no-fma_standalone", +- ":f16-f32-vcvt_sse2-no-sse3_standalone", +- ":f16-f32-vcvt_sse4.1-no-sse4.2_standalone", +- ":f16-f32-vcvt_x64_standalone", +- ":f16-f32acc-gemm_f16c-fma-avx2_standalone", +- ":f16-f32acc-igemm_f16c-fma-avx2_standalone", +- ":f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f16-f32acc-rdsum2_f16c-no-avx2-no-fma_standalone", +- ":f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone", +- ":f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f16-f32acc-rsum2_f16c-no-avx2-no-fma_standalone", +- ":f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone", +- ":f16-ibilinear_f16c-fma-no-avx2_standalone", +- ":f16-maxpool_f16c-fma-avx2_standalone", +- ":f16-maxpool_sse4.1-no-sse4.2_standalone", +- ":f16-qs8-vcvt_x64_standalone", +- ":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-no-avx2-no-fma_standalone", +- ":f16-rminmax_x64_standalone", +- ":f16-vapproxgelu_x64_standalone", +- ":f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone", +- ":f16-vbinary_f16c-no-avx2-no-fma_standalone", +- ":f16-vclamp_f16c-no-avx2-no-fma_standalone", +- ":f16-vcos_x64_standalone", +- ":f16-velu_f16c-fma-avx2_standalone", +- ":f16-vexp_x64_standalone", +- ":f16-vgelu_x64_standalone", +- ":f16-vhswish_f16c-no-avx2-no-fma_standalone", +- ":f16-vlrelu_f16c-no-avx2-no-fma_standalone", +- ":f16-vmulcaddc_f16c-fma-no-avx2_standalone", +- ":f16-vrnd_f16c-no-avx2-no-fma_standalone", +- ":f16-vrsqrt_f16c-no-avx2-no-fma_standalone", +- ":f16-vsigmoid_f16c-fma-avx2_standalone", +- ":f16-vsin_x64_standalone", +- ":f16-vsqrt_f16c-no-avx2-no-fma_standalone", +- ":f16-vtanh_f16c-fma-no-avx2_standalone", +- ":f16-vtanh_f16c-no-avx2-no-fma_standalone", +- ":f16-vunary_f16c-no-avx2-no-fma_standalone", +- ":f16-vunary_sse2-no-sse3_standalone", +- ":f32-argmaxpool_sse2-no-sse3_standalone", +- ":f32-argmaxpool_x64_standalone", +- ":f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-avgpool_avx512f_standalone", +- ":f32-avgpool_sse2-no-sse3_standalone", +- ":f32-avgpool_x64_standalone", +- ":f32-conv-hwc2chw_sse-no-sse2_standalone", +- ":f32-conv-hwc2chw_x64_standalone", +- ":f32-dwconv2d-chw_sse-no-sse2_standalone", +- ":f32-dwconv2d-chw_ssse3-no-sse4.1_standalone", +- ":f32-dwconv2d-chw_x64_standalone", +- ":f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-dwconv_avx512f_standalone", +- ":f32-dwconv_f16c-fma-no-avx2_standalone", +- ":f32-dwconv_sse-no-sse2_standalone", +- ":f32-dwconv_x64_standalone", +- ":f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f32-f16-vcvt_f16c-no-avx2-no-fma_standalone", +- ":f32-f16-vcvt_sse2-no-sse3_standalone", +- ":f32-f16-vcvt_sse4.1-no-sse4.2_standalone", +- ":f32-f16-vcvt_x64_standalone", +- ":f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-gemm_avx512f_standalone", +- ":f32-gemm_f16c-fma-no-avx2_standalone", +- ":f32-gemm_sse-no-sse2_standalone", +- ":f32-gemm_x64_standalone", +- ":f32-ibilinear-chw_sse-no-sse2_standalone", +- ":f32-ibilinear-chw_x64_standalone", +- ":f32-ibilinear_sse-no-sse2_standalone", +- ":f32-ibilinear_x64_standalone", +- ":f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-igemm_avx512f_standalone", +- ":f32-igemm_f16c-fma-no-avx2_standalone", +- ":f32-igemm_sse-no-sse2_standalone", +- ":f32-igemm_x64_standalone", +- ":f32-maxpool_sse2-no-sse3_standalone", +- ":f32-maxpool_x64_standalone", +- ":f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-qc4w-gemm_f16c-fma-avx2_standalone", +- ":f32-qc4w-gemm_f16c-fma-no-avx2_standalone", +- ":f32-qc4w-gemm_sse4.1-no-sse4.2_standalone", +- ":f32-qc4w-gemm_x64_standalone", +- ":f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-qc8w-gemm_f16c-fma-avx2_standalone", +- ":f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f32-qc8w-gemm_f16c-fma-no-avx2_standalone", +- ":f32-qc8w-gemm_sse4.1-no-sse4.2_standalone", +- ":f32-qc8w-gemm_x64_standalone", +- ":f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-qs8-vcvt_f16c-fma-avx2_standalone", +- ":f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f32-qs8-vcvt_sse2-no-sse3_standalone", +- ":f32-qs8-vcvt_sse4.1-no-sse4.2_standalone", +- ":f32-qs8-vcvt_x64_standalone", +- ":f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-qu8-vcvt_f16c-fma-avx2_standalone", +- ":f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f32-qu8-vcvt_sse2-no-sse3_standalone", +- ":f32-qu8-vcvt_x64_standalone", +- ":f32-raddstoreexpminusmax_avx512f_standalone", +- ":f32-raddstoreexpminusmax_f16c-fma-avx2_standalone", +- ":f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":f32-raddstoreexpminusmax_sse2-no-sse3_standalone", +- ":f32-raddstoreexpminusmax_x64_standalone", +- ":f32-rdminmax_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rdminmax_avx512f_standalone", +- ":f32-rdminmax_sse2-no-sse3_standalone", +- ":f32-rdminmax_x64_standalone", +- ":f32-rdsum2_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rdsum2_avx512f_standalone", +- ":f32-rdsum2_sse2-no-sse3_standalone", +- ":f32-rdsum2_x64_standalone", +- ":f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rdsum_avx512f_standalone", +- ":f32-rdsum_sse2-no-sse3_standalone", +- ":f32-rdsum_x64_standalone", +- ":f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rminmax_avx512f_standalone", +- ":f32-rminmax_sse-no-sse2_standalone", +- ":f32-rminmax_x64_standalone", +- ":f32-rsum2_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rsum2_avx512f_standalone", +- ":f32-rsum2_sse2-no-sse3_standalone", +- ":f32-rsum2_x64_standalone", +- ":f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-rsum_avx512f_standalone", +- ":f32-rsum_sse2-no-sse3_standalone", +- ":f32-rsum_x64_standalone", +- ":f32-spmm_sse-no-sse2_standalone", +- ":f32-spmm_x64_standalone", +- ":f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vapproxgelu_avx512f_standalone", +- ":f32-vapproxgelu_f16c-fma-no-avx2_standalone", +- ":f32-vapproxgelu_sse2-no-sse3_standalone", +- ":f32-vapproxgelu_x64_standalone", +- ":f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vbinary_avx512f_standalone", +- ":f32-vbinary_sse-no-sse2_standalone", +- ":f32-vbinary_sse2-no-sse3_standalone", +- ":f32-vbinary_x64_standalone", +- ":f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vclamp_avx512f_standalone", +- ":f32-vclamp_sse2-no-sse3_standalone", +- ":f32-vclamp_x64_standalone", +- ":f32-vcmul_avx512f_standalone", +- ":f32-vcmul_f16c-fma-no-avx2_standalone", +- ":f32-vcmul_sse-no-sse2_standalone", +- ":f32-vcmul_x64_standalone", +- ":f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vcopysign_avx512f_standalone", +- ":f32-vcopysign_sse2-no-sse3_standalone", +- ":f32-vcopysign_x64_standalone", +- ":f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vcos_avx512f_standalone", +- ":f32-vcos_f16c-fma-no-avx2_standalone", +- ":f32-vcos_sse2-no-sse3_standalone", +- ":f32-vcos_x64_standalone", +- ":f32-velu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-velu_avx512f_standalone", +- ":f32-velu_f16c-fma-avx2_standalone", +- ":f32-velu_sse2-no-sse3_standalone", +- ":f32-velu_x64_standalone", +- ":f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vexp_avx512f_standalone", +- ":f32-vexp_f16c-fma-no-avx2_standalone", +- ":f32-vexp_sse2-no-sse3_standalone", +- ":f32-vexp_x64_standalone", +- ":f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vgelu_avx512f_standalone", +- ":f32-vgelu_f16c-fma-no-avx2_standalone", +- ":f32-vgelu_sse2-no-sse3_standalone", +- ":f32-vgelu_x64_standalone", +- ":f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vhswish_avx512f_standalone", +- ":f32-vhswish_f16c-fma-no-avx2_standalone", +- ":f32-vhswish_sse2-no-sse3_standalone", +- ":f32-vhswish_x64_standalone", +- ":f32-vlog_avx512f_standalone", +- ":f32-vlog_f16c-fma-avx2_standalone", +- ":f32-vlog_f16c-fma-no-avx2_standalone", +- ":f32-vlog_sse2-no-sse3_standalone", +- ":f32-vlog_x64_standalone", +- ":f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vlrelu_avx512f_standalone", +- ":f32-vlrelu_sse-no-sse2_standalone", +- ":f32-vlrelu_sse4.1-no-sse4.2_standalone", +- ":f32-vlrelu_x64_standalone", +- ":f32-vmulcaddc_sse-no-sse2_standalone", +- ":f32-vmulcaddc_x64_standalone", +- ":f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vrnd_avx512f_standalone", +- ":f32-vrnd_sse2-no-sse3_standalone", +- ":f32-vrnd_sse4.1-no-sse4.2_standalone", +- ":f32-vrnd_x64_standalone", +- ":f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vrsqrt_avx512f_standalone", +- ":f32-vrsqrt_sse2-no-sse3_standalone", +- ":f32-vrsqrt_x64_standalone", +- ":f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vsigmoid_avx512f_standalone", +- ":f32-vsigmoid_f16c-fma-avx2_standalone", +- ":f32-vsigmoid_sse2-no-sse3_standalone", +- ":f32-vsigmoid_sse4.1-no-sse4.2_standalone", +- ":f32-vsigmoid_x64_standalone", +- ":f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vsin_avx512f_standalone", +- ":f32-vsin_f16c-fma-no-avx2_standalone", +- ":f32-vsin_sse2-no-sse3_standalone", +- ":f32-vsin_x64_standalone", +- ":f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vsqrt_avx512f_standalone", +- ":f32-vsqrt_sse2-no-sse3_standalone", +- ":f32-vsqrt_x64_standalone", +- ":f32-vtanh_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vtanh_avx512f_standalone", +- ":f32-vtanh_f16c-fma-no-avx2_standalone", +- ":f32-vtanh_sse2-no-sse3_standalone", +- ":f32-vtanh_x64_standalone", +- ":f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone", +- ":f32-vunary_avx512f_standalone", +- ":f32-vunary_sse2-no-sse3_standalone", +- ":f32-vunary_x64_standalone", +- ":operators_x64_standalone", +- ":qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone", +- ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_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-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_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-igemm_avx2-avxvnni-f16c-fma-gfni_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-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_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-gfni_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_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-gfni_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_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-gfni_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_sse2-no-sse3_standalone", +- ":qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone", +- ":qd8-f32-qc8w-igemm_x64_standalone", +- ":qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-dwconv_f16c-fma-avx2_standalone", +- ":qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-dwconv_sse2-no-sse3_standalone", +- ":qs8-dwconv_sse4.1-no-sse4.2_standalone", +- ":qs8-dwconv_x64_standalone", +- ":qs8-f16-vcvt_f16c-fma-avx2_standalone", +- ":qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-f32-vcvt_f16c-fma-avx2_standalone", +- ":qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-f32-vcvt_sse2-no-sse3_standalone", +- ":qs8-f32-vcvt_sse4.1-no-sse4.2_standalone", +- ":qs8-f32-vcvt_x64_standalone", +- ":qs8-packw_avx2-avxvnni-f16c-fma-gfni_standalone", +- ":qs8-packw_f16c-fma-avx2_standalone", +- ":qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", +- ":qs8-packw_x64_standalone", +- ":qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone", +- ":qs8-qc4w-gemm_f16c-fma-avx2_standalone", +- ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", +- ":qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-qc4w-gemm_ssse3-no-sse4.1_standalone", +- ":qs8-qc4w-gemm_x64_standalone", +- ":qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-qc8w-dwconv_f16c-fma-avx2_standalone", +- ":qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-qc8w-dwconv_sse2-no-sse3_standalone", +- ":qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone", +- ":qs8-qc8w-dwconv_x64_standalone", +- ":qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone", +- ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni_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_sse2-no-sse3_standalone", +- ":qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone", +- ":qs8-qc8w-gemm_x64_standalone", +- ":qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone", +- ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni_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_sse2-no-sse3_standalone", +- ":qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone", +- ":qs8-qc8w-igemm_x64_standalone", +- ":qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni_standalone", +- ":qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", +- ":qs8-qu8-packw_x64_standalone", +- ":qs8-rdsum_f16c-fma-avx2_standalone", +- ":qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-rdsum_sse4.1-no-sse4.2_standalone", +- ":qs8-rdsum_x64_standalone", +- ":qs8-rsum_avx2-avxvnni-f16c-fma-gfni_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_ssse3-no-sse4.1_standalone", +- ":qs8-rsum_x64_standalone", +- ":qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vadd_f16c-fma-avx2_standalone", +- ":qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-vadd_sse2-no-sse3_standalone", +- ":qs8-vadd_sse4.1-no-sse4.2_standalone", +- ":qs8-vadd_x64_standalone", +- ":qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vaddc_f16c-fma-avx2_standalone", +- ":qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qs8-vaddc_sse2-no-sse3_standalone", +- ":qs8-vaddc_sse4.1-no-sse4.2_standalone", +- ":qs8-vaddc_x64_standalone", +- ":qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vcvt_f16c-fma-avx2_standalone", +- ":qs8-vcvt_sse2-no-sse3_standalone", +- ":qs8-vcvt_sse4.1-no-sse4.2_standalone", +- ":qs8-vcvt_ssse3-no-sse4.1_standalone", +- ":qs8-vcvt_x64_standalone", +- ":qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vlrelu_f16c-fma-avx2_standalone", +- ":qs8-vlrelu_sse2-no-sse3_standalone", +- ":qs8-vlrelu_sse4.1-no-sse4.2_standalone", +- ":qs8-vlrelu_ssse3-no-sse4.1_standalone", +- ":qs8-vlrelu_x64_standalone", +- ":qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vmul_sse2-no-sse3_standalone", +- ":qs8-vmul_sse4.1-no-sse4.2_standalone", +- ":qs8-vmul_x64_standalone", +- ":qs8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qs8-vmulc_sse2-no-sse3_standalone", +- ":qs8-vmulc_sse4.1-no-sse4.2_standalone", +- ":qs8-vmulc_x64_standalone", +- ":qs8-vprelu_f16c-fma-avx2_standalone", +- ":qs8-vprelu_x64_standalone", +- ":qs8-vpreluc_f16c-fma-avx2_standalone", +- ":qs8-vpreluc_x64_standalone", +- ":qs8-vrpreluc_f16c-fma-avx2_standalone", +- ":qs8-vrpreluc_x64_standalone", +- ":qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-dwconv_f16c-fma-avx2_standalone", +- ":qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-dwconv_sse2-no-sse3_standalone", +- ":qu8-dwconv_sse4.1-no-sse4.2_standalone", +- ":qu8-dwconv_x64_standalone", +- ":qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-f32-vcvt_f16c-fma-avx2_standalone", +- ":qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-f32-vcvt_sse2-no-sse3_standalone", +- ":qu8-f32-vcvt_sse4.1-no-sse4.2_standalone", +- ":qu8-f32-vcvt_x64_standalone", +- ":qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-gemm_f16c-fma-avx2_standalone", +- ":qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-gemm_sse2-no-sse3_standalone", +- ":qu8-gemm_sse4.1-no-sse4.2_standalone", +- ":qu8-gemm_x64_standalone", +- ":qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-igemm_f16c-fma-avx2_standalone", +- ":qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-igemm_sse2-no-sse3_standalone", +- ":qu8-igemm_sse4.1-no-sse4.2_standalone", +- ":qu8-igemm_x64_standalone", +- ":qu8-rdsum_ssse3-no-sse4.1_standalone", +- ":qu8-rdsum_x64_standalone", +- ":qu8-rsum_f16c-fma-avx2_standalone", +- ":qu8-rsum_sse2-no-sse3_standalone", +- ":qu8-rsum_x64_standalone", +- ":qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vadd_f16c-fma-avx2_standalone", +- ":qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-vadd_sse2-no-sse3_standalone", +- ":qu8-vadd_sse4.1-no-sse4.2_standalone", +- ":qu8-vadd_x64_standalone", +- ":qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vaddc_f16c-fma-avx2_standalone", +- ":qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":qu8-vaddc_sse2-no-sse3_standalone", +- ":qu8-vaddc_sse4.1-no-sse4.2_standalone", +- ":qu8-vaddc_x64_standalone", +- ":qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vcvt_f16c-fma-avx2_standalone", +- ":qu8-vcvt_sse2-no-sse3_standalone", +- ":qu8-vcvt_sse4.1-no-sse4.2_standalone", +- ":qu8-vcvt_ssse3-no-sse4.1_standalone", +- ":qu8-vcvt_x64_standalone", +- ":qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vlrelu_f16c-fma-avx2_standalone", +- ":qu8-vlrelu_sse2-no-sse3_standalone", +- ":qu8-vlrelu_sse4.1-no-sse4.2_standalone", +- ":qu8-vlrelu_ssse3-no-sse4.1_standalone", +- ":qu8-vlrelu_x64_standalone", +- ":qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vmul_sse2-no-sse3_standalone", +- ":qu8-vmul_sse4.1-no-sse4.2_standalone", +- ":qu8-vmul_x64_standalone", +- ":qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone", +- ":qu8-vmulc_sse2-no-sse3_standalone", +- ":qu8-vmulc_sse4.1-no-sse4.2_standalone", +- ":qu8-vmulc_x64_standalone", +- ":qu8-vprelu_f16c-fma-avx2_standalone", +- ":qu8-vprelu_x64_standalone", +- ":qu8-vpreluc_f16c-fma-avx2_standalone", +- ":qu8-vpreluc_x64_standalone", +- ":qu8-vrpreluc_f16c-fma-avx2_standalone", +- ":qu8-vrpreluc_x64_standalone", +- ":reference_x64_standalone", +- ":s8-ibilinear_sse2-no-sse3_standalone", +- ":s8-ibilinear_sse4.1-no-sse4.2_standalone", +- ":s8-ibilinear_x64_standalone", +- ":s8-maxpool_sse4.1-no-sse4.2_standalone", +- ":s8-maxpool_x64_standalone", +- ":s8-rdminmax_sse4.1-no-sse4.2_standalone", +- ":s8-rdminmax_x64_standalone", +- ":s8-rminmax_sse4.1-no-sse4.2_standalone", +- ":s8-rminmax_x64_standalone", +- ":s8-vclamp_f16c-fma-avx2_standalone", +- ":s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":s8-vclamp_sse2-no-sse3_standalone", +- ":s8-vclamp_sse4.1-no-sse4.2_standalone", +- ":s8-vclamp_x64_standalone", +- ":subgraph_x64_standalone", +- ":tables_x64_standalone", +- ":u8-ibilinear_sse2-no-sse3_standalone", +- ":u8-ibilinear_sse4.1-no-sse4.2_standalone", +- ":u8-ibilinear_x64_standalone", +- ":u8-lut32norm_x64_standalone", +- ":u8-maxpool_sse2-no-sse3_standalone", +- ":u8-maxpool_x64_standalone", +- ":u8-rdminmax_sse2-no-sse3_standalone", +- ":u8-rdminmax_x64_standalone", +- ":u8-rminmax_sse2-no-sse3_standalone", +- ":u8-rminmax_x64_standalone", +- ":u8-vclamp_f16c-fma-avx2_standalone", +- ":u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", +- ":u8-vclamp_sse2-no-sse3_standalone", +- ":u8-vclamp_x64_standalone", +- ":x16-packw_f16c-fma-avx2_standalone", +- ":x16-transposec_f16c-fma-avx2_standalone", +- ":x16-transposec_sse2-no-sse3_standalone", +- ":x16-transposec_x64_standalone", +- ":x16-x32-packw_x64_standalone", +- ":x24-transposec_ssse3-no-sse4.1_standalone", +- ":x24-transposec_x64_standalone", +- ":x32-packw_avx-no-avx2-no-f16c-no-fma_standalone", +- ":x32-packw_avx512f_standalone", +- ":x32-packw_sse2-no-sse3_standalone", +- ":x32-packw_x64_standalone", +- ":x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone", +- ":x32-transposec_sse-no-sse2_standalone", +- ":x32-transposec_x64_standalone", +- ":x32-unpool_sse2-no-sse3_standalone", +- ":x32-unpool_x64_standalone", +- ":x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone", +- ":x64-transposec_sse2-no-sse3_standalone", +- ":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_x64_standalone", +- ":x8-packq_x64_standalone", +- ":x8-packw_x64_standalone", +- ":x8-transposec_f16c-fma-avx2_standalone", +- ":x8-transposec_sse2-no-sse3_standalone", +- ":x8-transposec_x64_standalone", +- ":xx-copy_x64_standalone", +- ":xx-fill_sse2-no-sse3_standalone", +- ":xx-fill_x64_standalone", +- ":xx-pad_sse2-no-sse3_standalone", +- ":xx-pad_x64_standalone", +- ":xx-transposev_x64_standalone", ++ ":configs_arm64_standalone", ++ ":enums_arm64_standalone", ++ ":f16-avgpool_arch=armv8.2-a+fp16_standalone", ++ ":f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone", ++ ":f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone", ++ ":f16-dwconv_arch=armv8.2-a+fp16_standalone", ++ ":f16-f32-vcvt_arm64_standalone", ++ ":f16-f32acc-rdsum2_arch=armv8.2-a+fp16_standalone", ++ ":f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone", ++ ":f16-f32acc-rsum2_arch=armv8.2-a+fp16_standalone", ++ ":f16-f32acc-rsum_arch=armv8.2-a+fp16_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_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", ++ ":f16-qu8-vcvt_arm64_standalone", ++ ":f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone", ++ ":f16-rdminmax_arch=armv8.2-a+fp16_standalone", ++ ":f16-rdminmax_arm64_standalone", ++ ":f16-rminmax_arch=armv8.2-a+fp16_standalone", ++ ":f16-rminmax_arm64_standalone", ++ ":f16-spmm_arch=armv8.2-a+fp16_standalone", ++ ":f16-vapproxgelu_arch=armv8.2-a+fp16_standalone", ++ ":f16-vapproxgelu_arm64_standalone", ++ ":f16-vbinary_arch=armv8.2-a+fp16_standalone", ++ ":f16-vclamp_arch=armv8.2-a+fp16_standalone", ++ ":f16-vcmul_arch=armv8.2-a+fp16_standalone", ++ ":f16-vcos_arch=armv8.2-a+fp16_standalone", ++ ":f16-vcos_arm64_standalone", ++ ":f16-velu_arch=armv8.2-a+fp16_standalone", ++ ":f16-vexp_arch=armv8.2-a+fp16_standalone", ++ ":f16-vexp_arm64_standalone", ++ ":f16-vgelu_arch=armv8.2-a+fp16_standalone", ++ ":f16-vgelu_arm64_standalone", ++ ":f16-vhswish_arch=armv8.2-a+fp16_standalone", ++ ":f16-vlrelu_arch=armv8.2-a+fp16_standalone", ++ ":f16-vmulcaddc_arch=armv8.2-a+fp16_standalone", ++ ":f16-vrnd_arch=armv8.2-a+fp16_standalone", ++ ":f16-vrsqrt_arch=armv8.2-a+fp16_standalone", ++ ":f16-vsigmoid_arch=armv8.2-a+fp16_standalone", ++ ":f16-vsin_arch=armv8.2-a+fp16_standalone", ++ ":f16-vsin_arm64_standalone", ++ ":f16-vsqrt_arch=armv8.2-a+fp16_standalone", ++ ":f16-vtanh_arch=armv8.2-a+fp16_standalone", ++ ":f16-vunary_arch=armv8.2-a+fp16_standalone", ++ ":f32-argmaxpool_arm64_standalone", ++ ":f32-avgpool_arm64_standalone", ++ ":f32-conv-hwc2chw_arm64_standalone", ++ ":f32-dwconv2d-chw_arm64_standalone", ++ ":f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":f32-dwconv_arm64_standalone", ++ ":f32-f16-vcvt_arm64_standalone", ++ ":f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":f32-gemm_arm64_standalone", ++ ":f32-ibilinear-chw_arm64_standalone", ++ ":f32-ibilinear_arm64_standalone", ++ ":f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":f32-igemm_arm64_standalone", ++ ":f32-maxpool_arm64_standalone", ++ ":f32-qc4w-gemm_arm64_standalone", ++ ":f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":f32-qc8w-gemm_arm64_standalone", ++ ":f32-qs8-vcvt_arm64_standalone", ++ ":f32-qu8-vcvt_arm64_standalone", ++ ":f32-raddstoreexpminusmax_arm64_standalone", ++ ":f32-rdminmax_arm64_standalone", ++ ":f32-rdsum2_arm64_standalone", ++ ":f32-rdsum_arm64_standalone", ++ ":f32-rminmax_arm64_standalone", ++ ":f32-rsum2_arm64_standalone", ++ ":f32-rsum_arm64_standalone", ++ ":f32-spmm_arm64_standalone", ++ ":f32-vapproxgelu_arm64_standalone", ++ ":f32-vbinary_arm64_standalone", ++ ":f32-vclamp_arm64_standalone", ++ ":f32-vcmul_arm64_standalone", ++ ":f32-vcopysign_arm64_standalone", ++ ":f32-vcos_arm64_standalone", ++ ":f32-velu_arm64_standalone", ++ ":f32-vexp_arm64_standalone", ++ ":f32-vgelu_arm64_standalone", ++ ":f32-vhswish_arm64_standalone", ++ ":f32-vlog_arm64_standalone", ++ ":f32-vlrelu_arm64_standalone", ++ ":f32-vmulcaddc_arm64_standalone", ++ ":f32-vrnd_arm64_standalone", ++ ":f32-vrsqrt_arm64_standalone", ++ ":f32-vsigmoid_arm64_standalone", ++ ":f32-vsin_arm64_standalone", ++ ":f32-vsqrt_arm64_standalone", ++ ":f32-vtanh_arm64_standalone", ++ ":f32-vunary_arm64_standalone", ++ ":operators_arm64_standalone", ++ ":pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":pf16-gemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":pf32-gemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":qb4-packw_arch=armv8.2-a+dotprod_standalone", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone", ++ ":qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone", ++ ":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_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_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", ++ ":qd8-f32-qb4w-gemm_arm64_standalone", ++ ":qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qd8-f32-qc4w-gemm_arm64_standalone", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qd8-f32-qc8w-gemm_arm64_standalone", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qd8-f32-qc8w-igemm_arm64_standalone", ++ ":qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone", ++ ":qs8-dwconv_arm64_standalone", ++ ":qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone", ++ ":qs8-f32-vcvt_arm64_standalone", ++ ":qs8-packw_arm64_standalone", ++ ":qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qs8-qc4w-gemm_arm64_standalone", ++ ":qs8-qc8w-dwconv_arm64_standalone", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qs8-qc8w-gemm_arm64_standalone", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone", ++ ":qs8-qc8w-igemm_arm64_standalone", ++ ":qs8-qu8-packw_arm64_standalone", ++ ":qs8-rdsum_arm64_standalone", ++ ":qs8-rsum_arch=armv8.2-a+dotprod_standalone", ++ ":qs8-rsum_arm64_standalone", ++ ":qs8-vadd_arm64_standalone", ++ ":qs8-vaddc_arm64_standalone", ++ ":qs8-vcvt_arm64_standalone", ++ ":qs8-vlrelu_arm64_standalone", ++ ":qs8-vmul_arm64_standalone", ++ ":qs8-vmulc_arm64_standalone", ++ ":qs8-vprelu_arm64_standalone", ++ ":qs8-vpreluc_arm64_standalone", ++ ":qs8-vrpreluc_arm64_standalone", ++ ":qu8-dwconv_arm64_standalone", ++ ":qu8-f32-vcvt_arm64_standalone", ++ ":qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qu8-gemm_arm64_standalone", ++ ":qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone", ++ ":qu8-igemm_arm64_standalone", ++ ":qu8-rdsum_arm64_standalone", ++ ":qu8-rsum_arm64_standalone", ++ ":qu8-vadd_arm64_standalone", ++ ":qu8-vaddc_arm64_standalone", ++ ":qu8-vcvt_arm64_standalone", ++ ":qu8-vlrelu_arm64_standalone", ++ ":qu8-vmul_arm64_standalone", ++ ":qu8-vmulc_arm64_standalone", ++ ":qu8-vprelu_arm64_standalone", ++ ":qu8-vpreluc_arm64_standalone", ++ ":qu8-vrpreluc_arm64_standalone", ++ ":reference_arm64_standalone", ++ ":s8-ibilinear_arm64_standalone", ++ ":s8-maxpool_arm64_standalone", ++ ":s8-rdminmax_arm64_standalone", ++ ":s8-rminmax_arm64_standalone", ++ ":s8-vclamp_arm64_standalone", ++ ":subgraph_arm64_standalone", ++ ":tables_arm64_standalone", ++ ":u8-ibilinear_arm64_standalone", ++ ":u8-lut32norm_arm64_standalone", ++ ":u8-maxpool_arm64_standalone", ++ ":u8-rdminmax_arm64_standalone", ++ ":u8-rminmax_arm64_standalone", ++ ":u8-vclamp_arm64_standalone", ++ ":x16-pack-lh_arch=armv8.2-a+sve+sve2_standalone", ++ ":x16-packw_arm64_standalone", ++ ":x16-transposec_arm64_standalone", ++ ":x16-x32-packw_arm64_standalone", ++ ":x24-transposec_arm64_standalone", ++ ":x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone", ++ ":x32-packw_arm64_standalone", ++ ":x32-transposec_arm64_standalone", ++ ":x32-unpool_arm64_standalone", ++ ":x64-transposec_arm64_standalone", ++ ":x8-lut_arm64_standalone", ++ ":x8-pack-lh_arch=armv8.2-a+sve+sve2_standalone", ++ ":x8-packq_arm64_standalone", ++ ":x8-packw_arm64_standalone", ++ ":x8-transposec_arm64_standalone", ++ ":xx-copy_arm64_standalone", ++ ":xx-fill_arm64_standalone", ++ ":xx-pad_arm64_standalone", ++ ":xx-transposev_arm64_standalone" + ] + } +-} else if (current_cpu == "arm64") { ++} else ++if (current_cpu == "riscv64") { ++ + if (build_with_chromium) { + xnnpack_deps = [ +- ":configs_arm64", +- ":enums_arm64", +- ":f16-avgpool_arch=armv8.2-a+fp16", +- ":f16-conv-hwc2chw_arch=armv8.2-a+fp16", +- ":f16-dwconv2d-chw_arch=armv8.2-a+fp16", +- ":f16-dwconv_arch=armv8.2-a+fp16", +- ":f16-f32-vcvt_arm64", +- ":f16-f32acc-rdsum2_arch=armv8.2-a+fp16", +- ":f16-f32acc-rdsum_arch=armv8.2-a+fp16", +- ":f16-f32acc-rsum2_arch=armv8.2-a+fp16", +- ":f16-f32acc-rsum_arch=armv8.2-a+fp16", +- ":f16-gemm_arch=armv8.2-a+fp16", +- ":f16-gemm_arch=armv8.2-a+fp16+dotprod", +- ":f16-ibilinear-chw_arch=armv8.2-a+fp16", +- ":f16-ibilinear_arch=armv8.2-a+fp16", +- ":f16-igemm_arch=armv8.2-a+fp16", +- ":f16-igemm_arch=armv8.2-a+fp16+dotprod", +- ":f16-maxpool_arch=armv8.2-a+fp16", +- ":f16-qs8-vcvt_arch=armv8.2-a+fp16", +- ":f16-qs8-vcvt_arm64", +- ":f16-qu8-vcvt_arm64", +- ":f16-raddstoreexpminusmax_arch=armv8.2-a+fp16", +- ":f16-rdminmax_arch=armv8.2-a+fp16", +- ":f16-rdminmax_arm64", +- ":f16-rminmax_arch=armv8.2-a+fp16", +- ":f16-rminmax_arm64", +- ":f16-spmm_arch=armv8.2-a+fp16", +- ":f16-vapproxgelu_arch=armv8.2-a+fp16", +- ":f16-vapproxgelu_arm64", +- ":f16-vbinary_arch=armv8.2-a+fp16", +- ":f16-vclamp_arch=armv8.2-a+fp16", +- ":f16-vcmul_arch=armv8.2-a+fp16", +- ":f16-vcos_arch=armv8.2-a+fp16", +- ":f16-vcos_arm64", +- ":f16-velu_arch=armv8.2-a+fp16", +- ":f16-vexp_arch=armv8.2-a+fp16", +- ":f16-vexp_arm64", +- ":f16-vgelu_arch=armv8.2-a+fp16", +- ":f16-vgelu_arm64", +- ":f16-vhswish_arch=armv8.2-a+fp16", +- ":f16-vlrelu_arch=armv8.2-a+fp16", +- ":f16-vmulcaddc_arch=armv8.2-a+fp16", +- ":f16-vrnd_arch=armv8.2-a+fp16", +- ":f16-vrsqrt_arch=armv8.2-a+fp16", +- ":f16-vsigmoid_arch=armv8.2-a+fp16", +- ":f16-vsin_arch=armv8.2-a+fp16", +- ":f16-vsin_arm64", +- ":f16-vsqrt_arch=armv8.2-a+fp16", +- ":f16-vtanh_arch=armv8.2-a+fp16", +- ":f16-vunary_arch=armv8.2-a+fp16", +- ":f32-argmaxpool_arm64", +- ":f32-avgpool_arm64", +- ":f32-conv-hwc2chw_arm64", +- ":f32-dwconv2d-chw_arm64", +- ":f32-dwconv_arch=armv8.2-a+fp16+dotprod", +- ":f32-dwconv_arm64", +- ":f32-f16-vcvt_arm64", +- ":f32-gemm_arch=armv8.2-a+fp16+dotprod", +- ":f32-gemm_arm64", +- ":f32-ibilinear-chw_arm64", +- ":f32-ibilinear_arm64", +- ":f32-igemm_arch=armv8.2-a+fp16+dotprod", +- ":f32-igemm_arm64", +- ":f32-maxpool_arm64", +- ":f32-qc4w-gemm_arm64", +- ":f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", +- ":f32-qc8w-gemm_arm64", +- ":f32-qs8-vcvt_arm64", +- ":f32-qu8-vcvt_arm64", +- ":f32-raddstoreexpminusmax_arm64", +- ":f32-rdminmax_arm64", +- ":f32-rdsum2_arm64", +- ":f32-rdsum_arm64", +- ":f32-rminmax_arm64", +- ":f32-rsum2_arm64", +- ":f32-rsum_arm64", +- ":f32-spmm_arm64", +- ":f32-vapproxgelu_arm64", +- ":f32-vbinary_arm64", +- ":f32-vclamp_arm64", +- ":f32-vcmul_arm64", +- ":f32-vcopysign_arm64", +- ":f32-vcos_arm64", +- ":f32-velu_arm64", +- ":f32-vexp_arm64", +- ":f32-vgelu_arm64", +- ":f32-vhswish_arm64", +- ":f32-vlog_arm64", +- ":f32-vlrelu_arm64", +- ":f32-vmulcaddc_arm64", +- ":f32-vrnd_arm64", +- ":f32-vrsqrt_arm64", +- ":f32-vsigmoid_arm64", +- ":f32-vsin_arm64", +- ":f32-vsqrt_arm64", +- ":f32-vtanh_arm64", +- ":f32-vunary_arm64", +- ":operators_arm64", +- ":pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2", +- ":pf16-gemm_arch=armv8.2-a+sve+sve2", +- ":pf32-gemm_arch=armv8.2-a+sve+sve2", +- ":pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2", +- ":pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2", +- ":qb4-packw_arch=armv8.2-a+dotprod", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16", +- ":qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16", +- ":qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16", +- ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16", +- ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", +- ":qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16", +- ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16", +- ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", +- ":qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod", +- ":qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f32-qb4w-gemm_arm64", +- ":qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod", +- ":qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod", +- ":qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f32-qc4w-gemm_arm64", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f32-qc8w-gemm_arm64", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", +- ":qd8-f32-qc8w-igemm_arm64", +- ":qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod", +- ":qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2", +- ":qs8-dwconv_arm64", +- ":qs8-f16-vcvt_arch=armv8.2-a+fp16", +- ":qs8-f32-vcvt_arm64", +- ":qs8-packw_arm64", +- ":qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod", +- ":qs8-qc4w-gemm_arm64", +- ":qs8-qc8w-dwconv_arm64", +- ":qs8-qc8w-gemm_arch=armv8.2-a+dotprod", +- ":qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod", +- ":qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16", +- ":qs8-qc8w-gemm_arm64", +- ":qs8-qc8w-igemm_arch=armv8.2-a+dotprod", +- ":qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod", +- ":qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16", +- ":qs8-qc8w-igemm_arm64", +- ":qs8-qu8-packw_arm64", +- ":qs8-rdsum_arm64", +- ":qs8-rsum_arch=armv8.2-a+dotprod", +- ":qs8-rsum_arm64", +- ":qs8-vadd_arm64", +- ":qs8-vaddc_arm64", +- ":qs8-vcvt_arm64", +- ":qs8-vlrelu_arm64", +- ":qs8-vmul_arm64", +- ":qs8-vmulc_arm64", +- ":qs8-vprelu_arm64", +- ":qs8-vpreluc_arm64", +- ":qs8-vrpreluc_arm64", +- ":qu8-dwconv_arm64", +- ":qu8-f32-vcvt_arm64", +- ":qu8-gemm_arch=armv8.2-a+fp16+dotprod", +- ":qu8-gemm_arm64", +- ":qu8-igemm_arch=armv8.2-a+fp16+dotprod", +- ":qu8-igemm_arm64", +- ":qu8-rdsum_arm64", +- ":qu8-rsum_arm64", +- ":qu8-vadd_arm64", +- ":qu8-vaddc_arm64", +- ":qu8-vcvt_arm64", +- ":qu8-vlrelu_arm64", +- ":qu8-vmul_arm64", +- ":qu8-vmulc_arm64", +- ":qu8-vprelu_arm64", +- ":qu8-vpreluc_arm64", +- ":qu8-vrpreluc_arm64", +- ":reference_arm64", +- ":s8-ibilinear_arm64", +- ":s8-maxpool_arm64", +- ":s8-rdminmax_arm64", +- ":s8-rminmax_arm64", +- ":s8-vclamp_arm64", +- ":subgraph_arm64", +- ":tables_arm64", +- ":u8-ibilinear_arm64", +- ":u8-lut32norm_arm64", +- ":u8-maxpool_arm64", +- ":u8-rdminmax_arm64", +- ":u8-rminmax_arm64", +- ":u8-vclamp_arm64", +- ":x16-pack-lh_arch=armv8.2-a+sve+sve2", +- ":x16-packw_arm64", +- ":x16-transposec_arm64", +- ":x16-x32-packw_arm64", +- ":x24-transposec_arm64", +- ":x32-pack-lh_arch=armv8.2-a+sve+sve2", +- ":x32-packw_arm64", +- ":x32-transposec_arm64", +- ":x32-unpool_arm64", +- ":x64-transposec_arm64", +- ":x8-lut_arm64", +- ":x8-pack-lh_arch=armv8.2-a+sve+sve2", +- ":x8-packq_arm64", +- ":x8-packw_arm64", +- ":x8-transposec_arm64", +- ":xx-copy_arm64", +- ":xx-fill_arm64", +- ":xx-pad_arm64", +- ":xx-transposev_arm64", ++ ":configs_riscv64", ++ ":enums_riscv64", ++ ":f16-f32-vcvt_riscv64", ++ ":f16-qs8-vcvt_riscv64", ++ ":f16-qu8-vcvt_riscv64", ++ ":f16-rdminmax_riscv64", ++ ":f16-rminmax_riscv64", ++ ":f16-vapproxgelu_riscv64", ++ ":f16-vcos_riscv64", ++ ":f16-vexp_riscv64", ++ ":f16-vgelu_riscv64", ++ ":f16-vsin_riscv64", ++ ":f32-argmaxpool_arch=rv64gcv-abi=lp64d", ++ ":f32-argmaxpool_riscv64", ++ ":f32-avgpool_riscv64", ++ ":f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d", ++ ":f32-conv-hwc2chw_riscv64", ++ ":f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d", ++ ":f32-dwconv2d-chw_riscv64", ++ ":f32-dwconv_arch=rv64gcv-abi=lp64d", ++ ":f32-dwconv_riscv64", ++ ":f32-f16-vcvt_riscv64", ++ ":f32-gemm_arch=rv64gcv-abi=lp64d", ++ ":f32-gemm_riscv64", ++ ":f32-ibilinear-chw_riscv64", ++ ":f32-ibilinear_riscv64", ++ ":f32-igemm_arch=rv64gcv-abi=lp64d", ++ ":f32-igemm_riscv64", ++ ":f32-maxpool_arch=rv64gcv-abi=lp64d", ++ ":f32-maxpool_riscv64", ++ ":f32-qc4w-gemm_riscv64", ++ ":f32-qc8w-gemm_riscv64", ++ ":f32-qs8-vcvt_arch=rv64gcv-abi=lp64d", ++ ":f32-qs8-vcvt_riscv64", ++ ":f32-qu8-vcvt_arch=rv64gcv-abi=lp64d", ++ ":f32-qu8-vcvt_riscv64", ++ ":f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d", ++ ":f32-raddstoreexpminusmax_riscv64", ++ ":f32-rdminmax_riscv64", ++ ":f32-rdsum2_riscv64", ++ ":f32-rdsum_arch=rv64gcv-abi=lp64d", ++ ":f32-rdsum_riscv64", ++ ":f32-rminmax_arch=rv64gcv-abi=lp64d", ++ ":f32-rminmax_riscv64", ++ ":f32-rsum2_riscv64", ++ ":f32-rsum_riscv64", ++ ":f32-spmm_arch=rv64gcv-abi=lp64d", ++ ":f32-spmm_riscv64", ++ ":f32-vapproxgelu_riscv64", ++ ":f32-vbinary_arch=rv64gcv-abi=lp64d", ++ ":f32-vbinary_riscv64", ++ ":f32-vclamp_riscv64", ++ ":f32-vcmul_arch=rv64gcv-abi=lp64d", ++ ":f32-vcmul_riscv64", ++ ":f32-vcopysign_riscv64", ++ ":f32-vcos_riscv64", ++ ":f32-velu_riscv64", ++ ":f32-vexp_riscv64", ++ ":f32-vgelu_riscv64", ++ ":f32-vhswish_arch=rv64gcv-abi=lp64d", ++ ":f32-vhswish_riscv64", ++ ":f32-vlog_riscv64", ++ ":f32-vlrelu_arch=rv64gcv-abi=lp64d", ++ ":f32-vlrelu_riscv64", ++ ":f32-vmulcaddc_riscv64", ++ ":f32-vrnd_arch=rv64gcv-abi=lp64d", ++ ":f32-vrnd_riscv64", ++ ":f32-vrsqrt_arch=rv64gcv-abi=lp64d", ++ ":f32-vrsqrt_riscv64", ++ ":f32-vsigmoid_riscv64", ++ ":f32-vsin_riscv64", ++ ":f32-vsqrt_riscv64", ++ ":f32-vtanh_riscv64", ++ ":f32-vunary_riscv64", ++ ":operators_riscv64", ++ ":qd8-f32-qb4w-gemm_riscv64", ++ ":qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d", ++ ":qd8-f32-qc4w-gemm_riscv64", ++ ":qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d", ++ ":qd8-f32-qc8w-gemm_riscv64", ++ ":qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d", ++ ":qd8-f32-qc8w-igemm_riscv64", ++ ":qs8-dwconv_arch=rv64gcv-abi=lp64d", ++ ":qs8-dwconv_riscv64", ++ ":qs8-f32-vcvt_arch=rv64gcv-abi=lp64d", ++ ":qs8-f32-vcvt_riscv64", ++ ":qs8-packw_riscv64", ++ ":qs8-qc4w-gemm_riscv64", ++ ":qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d", ++ ":qs8-qc8w-dwconv_riscv64", ++ ":qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d", ++ ":qs8-qc8w-gemm_riscv64", ++ ":qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d", ++ ":qs8-qc8w-igemm_riscv64", ++ ":qs8-qu8-packw_riscv64", ++ ":qs8-rdsum_arch=rv64gcv-abi=lp64d", ++ ":qs8-rdsum_riscv64", ++ ":qs8-rsum_arch=rv64gcv-abi=lp64d", ++ ":qs8-rsum_riscv64", ++ ":qs8-vadd_arch=rv64gcv-abi=lp64d", ++ ":qs8-vadd_riscv64", ++ ":qs8-vaddc_arch=rv64gcv-abi=lp64d", ++ ":qs8-vaddc_riscv64", ++ ":qs8-vcvt_riscv64", ++ ":qs8-vlrelu_arch=rv64gcv-abi=lp64d", ++ ":qs8-vlrelu_riscv64", ++ ":qs8-vmul_arch=rv64gcv-abi=lp64d", ++ ":qs8-vmul_riscv64", ++ ":qs8-vmulc_arch=rv64gcv-abi=lp64d", ++ ":qs8-vmulc_riscv64", ++ ":qs8-vprelu_riscv64", ++ ":qs8-vpreluc_riscv64", ++ ":qs8-vrpreluc_riscv64", ++ ":qu8-dwconv_arch=rv64gcv-abi=lp64d", ++ ":qu8-dwconv_riscv64", ++ ":qu8-f32-vcvt_arch=rv64gcv-abi=lp64d", ++ ":qu8-f32-vcvt_riscv64", ++ ":qu8-gemm_riscv64", ++ ":qu8-igemm_riscv64", ++ ":qu8-rdsum_arch=rv64gcv-abi=lp64d", ++ ":qu8-rdsum_riscv64", ++ ":qu8-rsum_arch=rv64gcv-abi=lp64d", ++ ":qu8-rsum_riscv64", ++ ":qu8-vadd_arch=rv64gcv-abi=lp64d", ++ ":qu8-vadd_riscv64", ++ ":qu8-vaddc_arch=rv64gcv-abi=lp64d", ++ ":qu8-vaddc_riscv64", ++ ":qu8-vcvt_riscv64", ++ ":qu8-vlrelu_arch=rv64gcv-abi=lp64d", ++ ":qu8-vlrelu_riscv64", ++ ":qu8-vmul_arch=rv64gcv-abi=lp64d", ++ ":qu8-vmul_riscv64", ++ ":qu8-vmulc_arch=rv64gcv-abi=lp64d", ++ ":qu8-vmulc_riscv64", ++ ":qu8-vprelu_riscv64", ++ ":qu8-vpreluc_riscv64", ++ ":qu8-vrpreluc_riscv64", ++ ":reference_riscv64", ++ ":s8-ibilinear_riscv64", ++ ":s8-maxpool_riscv64", ++ ":s8-rdminmax_riscv64", ++ ":s8-rminmax_riscv64", ++ ":s8-vclamp_arch=rv64gcv-abi=lp64d", ++ ":s8-vclamp_riscv64", ++ ":subgraph_riscv64", ++ ":tables_riscv64", ++ ":u8-ibilinear_riscv64", ++ ":u8-lut32norm_riscv64", ++ ":u8-maxpool_riscv64", ++ ":u8-rdminmax_riscv64", ++ ":u8-rminmax_riscv64", ++ ":u8-vclamp_arch=rv64gcv-abi=lp64d", ++ ":u8-vclamp_riscv64", ++ ":x16-transposec_riscv64", ++ ":x16-x32-packw_riscv64", ++ ":x24-transposec_riscv64", ++ ":x32-packw_arch=rv64gcv-abi=lp64d", ++ ":x32-packw_riscv64", ++ ":x32-transposec_arch=rv64gcv-abi=lp64d", ++ ":x32-transposec_riscv64", ++ ":x32-unpool_riscv64", ++ ":x64-transposec_riscv64", ++ ":x8-lut_riscv64", ++ ":x8-packq_riscv64", ++ ":x8-packw_riscv64", ++ ":x8-transposec_riscv64", ++ ":xx-copy_riscv64", ++ ":xx-fill_riscv64", ++ ":xx-pad_riscv64", ++ ":xx-transposev_riscv64" + ] + } + + if (build_with_internal_optimization_guide) { + xnnpack_standalone_deps = [ +- ":configs_arm64_standalone", +- ":enums_arm64_standalone", +- ":f16-avgpool_arch=armv8.2-a+fp16_standalone", +- ":f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone", +- ":f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone", +- ":f16-dwconv_arch=armv8.2-a+fp16_standalone", +- ":f16-f32-vcvt_arm64_standalone", +- ":f16-f32acc-rdsum2_arch=armv8.2-a+fp16_standalone", +- ":f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone", +- ":f16-f32acc-rsum2_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-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-maxpool_arch=armv8.2-a+fp16_standalone", +- ":f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone", +- ":f16-qs8-vcvt_arm64_standalone", +- ":f16-qu8-vcvt_arm64_standalone", +- ":f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone", +- ":f16-rdminmax_arch=armv8.2-a+fp16_standalone", +- ":f16-rdminmax_arm64_standalone", +- ":f16-rminmax_arch=armv8.2-a+fp16_standalone", +- ":f16-rminmax_arm64_standalone", +- ":f16-spmm_arch=armv8.2-a+fp16_standalone", +- ":f16-vapproxgelu_arch=armv8.2-a+fp16_standalone", +- ":f16-vapproxgelu_arm64_standalone", +- ":f16-vbinary_arch=armv8.2-a+fp16_standalone", +- ":f16-vclamp_arch=armv8.2-a+fp16_standalone", +- ":f16-vcmul_arch=armv8.2-a+fp16_standalone", +- ":f16-vcos_arch=armv8.2-a+fp16_standalone", +- ":f16-vcos_arm64_standalone", +- ":f16-velu_arch=armv8.2-a+fp16_standalone", +- ":f16-vexp_arch=armv8.2-a+fp16_standalone", +- ":f16-vexp_arm64_standalone", +- ":f16-vgelu_arch=armv8.2-a+fp16_standalone", +- ":f16-vgelu_arm64_standalone", +- ":f16-vhswish_arch=armv8.2-a+fp16_standalone", +- ":f16-vlrelu_arch=armv8.2-a+fp16_standalone", +- ":f16-vmulcaddc_arch=armv8.2-a+fp16_standalone", +- ":f16-vrnd_arch=armv8.2-a+fp16_standalone", +- ":f16-vrsqrt_arch=armv8.2-a+fp16_standalone", +- ":f16-vsigmoid_arch=armv8.2-a+fp16_standalone", +- ":f16-vsin_arch=armv8.2-a+fp16_standalone", +- ":f16-vsin_arm64_standalone", +- ":f16-vsqrt_arch=armv8.2-a+fp16_standalone", +- ":f16-vtanh_arch=armv8.2-a+fp16_standalone", +- ":f16-vunary_arch=armv8.2-a+fp16_standalone", +- ":f32-argmaxpool_arm64_standalone", +- ":f32-avgpool_arm64_standalone", +- ":f32-conv-hwc2chw_arm64_standalone", +- ":f32-dwconv2d-chw_arm64_standalone", +- ":f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone", +- ":f32-dwconv_arm64_standalone", +- ":f32-f16-vcvt_arm64_standalone", +- ":f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":f32-gemm_arm64_standalone", +- ":f32-ibilinear-chw_arm64_standalone", +- ":f32-ibilinear_arm64_standalone", +- ":f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":f32-igemm_arm64_standalone", +- ":f32-maxpool_arm64_standalone", +- ":f32-qc4w-gemm_arm64_standalone", +- ":f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":f32-qc8w-gemm_arm64_standalone", +- ":f32-qs8-vcvt_arm64_standalone", +- ":f32-qu8-vcvt_arm64_standalone", +- ":f32-raddstoreexpminusmax_arm64_standalone", +- ":f32-rdminmax_arm64_standalone", +- ":f32-rdsum2_arm64_standalone", +- ":f32-rdsum_arm64_standalone", +- ":f32-rminmax_arm64_standalone", +- ":f32-rsum2_arm64_standalone", +- ":f32-rsum_arm64_standalone", +- ":f32-spmm_arm64_standalone", +- ":f32-vapproxgelu_arm64_standalone", +- ":f32-vbinary_arm64_standalone", +- ":f32-vclamp_arm64_standalone", +- ":f32-vcmul_arm64_standalone", +- ":f32-vcopysign_arm64_standalone", +- ":f32-vcos_arm64_standalone", +- ":f32-velu_arm64_standalone", +- ":f32-vexp_arm64_standalone", +- ":f32-vgelu_arm64_standalone", +- ":f32-vhswish_arm64_standalone", +- ":f32-vlog_arm64_standalone", +- ":f32-vlrelu_arm64_standalone", +- ":f32-vmulcaddc_arm64_standalone", +- ":f32-vrnd_arm64_standalone", +- ":f32-vrsqrt_arm64_standalone", +- ":f32-vsigmoid_arm64_standalone", +- ":f32-vsin_arm64_standalone", +- ":f32-vsqrt_arm64_standalone", +- ":f32-vtanh_arm64_standalone", +- ":f32-vunary_arm64_standalone", +- ":operators_arm64_standalone", +- ":pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2_standalone", +- ":pf16-gemm_arch=armv8.2-a+sve+sve2_standalone", +- ":pf32-gemm_arch=armv8.2-a+sve+sve2_standalone", +- ":pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2_standalone", +- ":pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone", +- ":qb4-packw_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone", +- ":qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone", +- ":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+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+i8mm+fp16_standalone", +- ":qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qd8-f32-qb4w-gemm_arm64_standalone", +- ":qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qd8-f32-qc4w-gemm_arm64_standalone", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qd8-f32-qc8w-gemm_arm64_standalone", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qd8-f32-qc8w-igemm_arm64_standalone", +- ":qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2_standalone", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone", +- ":qs8-dwconv_arm64_standalone", +- ":qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone", +- ":qs8-f32-vcvt_arm64_standalone", +- ":qs8-packw_arm64_standalone", +- ":qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qs8-qc4w-gemm_arm64_standalone", +- ":qs8-qc8w-dwconv_arm64_standalone", +- ":qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone", +- ":qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qs8-qc8w-gemm_arm64_standalone", +- ":qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone", +- ":qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone", +- ":qs8-qc8w-igemm_arm64_standalone", +- ":qs8-qu8-packw_arm64_standalone", +- ":qs8-rdsum_arm64_standalone", +- ":qs8-rsum_arch=armv8.2-a+dotprod_standalone", +- ":qs8-rsum_arm64_standalone", +- ":qs8-vadd_arm64_standalone", +- ":qs8-vaddc_arm64_standalone", +- ":qs8-vcvt_arm64_standalone", +- ":qs8-vlrelu_arm64_standalone", +- ":qs8-vmul_arm64_standalone", +- ":qs8-vmulc_arm64_standalone", +- ":qs8-vprelu_arm64_standalone", +- ":qs8-vpreluc_arm64_standalone", +- ":qs8-vrpreluc_arm64_standalone", +- ":qu8-dwconv_arm64_standalone", +- ":qu8-f32-vcvt_arm64_standalone", +- ":qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qu8-gemm_arm64_standalone", +- ":qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone", +- ":qu8-igemm_arm64_standalone", +- ":qu8-rdsum_arm64_standalone", +- ":qu8-rsum_arm64_standalone", +- ":qu8-vadd_arm64_standalone", +- ":qu8-vaddc_arm64_standalone", +- ":qu8-vcvt_arm64_standalone", +- ":qu8-vlrelu_arm64_standalone", +- ":qu8-vmul_arm64_standalone", +- ":qu8-vmulc_arm64_standalone", +- ":qu8-vprelu_arm64_standalone", +- ":qu8-vpreluc_arm64_standalone", +- ":qu8-vrpreluc_arm64_standalone", +- ":reference_arm64_standalone", +- ":s8-ibilinear_arm64_standalone", +- ":s8-maxpool_arm64_standalone", +- ":s8-rdminmax_arm64_standalone", +- ":s8-rminmax_arm64_standalone", +- ":s8-vclamp_arm64_standalone", +- ":subgraph_arm64_standalone", +- ":tables_arm64_standalone", +- ":u8-ibilinear_arm64_standalone", +- ":u8-lut32norm_arm64_standalone", +- ":u8-maxpool_arm64_standalone", +- ":u8-rdminmax_arm64_standalone", +- ":u8-rminmax_arm64_standalone", +- ":u8-vclamp_arm64_standalone", +- ":x16-pack-lh_arch=armv8.2-a+sve+sve2_standalone", +- ":x16-packw_arm64_standalone", +- ":x16-transposec_arm64_standalone", +- ":x16-x32-packw_arm64_standalone", +- ":x24-transposec_arm64_standalone", +- ":x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone", +- ":x32-packw_arm64_standalone", +- ":x32-transposec_arm64_standalone", +- ":x32-unpool_arm64_standalone", +- ":x64-transposec_arm64_standalone", +- ":x8-lut_arm64_standalone", +- ":x8-pack-lh_arch=armv8.2-a+sve+sve2_standalone", +- ":x8-packq_arm64_standalone", +- ":x8-packw_arm64_standalone", +- ":x8-transposec_arm64_standalone", +- ":xx-copy_arm64_standalone", +- ":xx-fill_arm64_standalone", +- ":xx-pad_arm64_standalone", +- ":xx-transposev_arm64_standalone", ++ ":configs_riscv64_standalone", ++ ":enums_riscv64_standalone", ++ ":f16-f32-vcvt_riscv64_standalone", ++ ":f16-qs8-vcvt_riscv64_standalone", ++ ":f16-qu8-vcvt_riscv64_standalone", ++ ":f16-rdminmax_riscv64_standalone", ++ ":f16-rminmax_riscv64_standalone", ++ ":f16-vapproxgelu_riscv64_standalone", ++ ":f16-vcos_riscv64_standalone", ++ ":f16-vexp_riscv64_standalone", ++ ":f16-vgelu_riscv64_standalone", ++ ":f16-vsin_riscv64_standalone", ++ ":f32-argmaxpool_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-argmaxpool_riscv64_standalone", ++ ":f32-avgpool_riscv64_standalone", ++ ":f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-conv-hwc2chw_riscv64_standalone", ++ ":f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-dwconv2d-chw_riscv64_standalone", ++ ":f32-dwconv_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-dwconv_riscv64_standalone", ++ ":f32-f16-vcvt_riscv64_standalone", ++ ":f32-gemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-gemm_riscv64_standalone", ++ ":f32-ibilinear-chw_riscv64_standalone", ++ ":f32-ibilinear_riscv64_standalone", ++ ":f32-igemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-igemm_riscv64_standalone", ++ ":f32-maxpool_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-maxpool_riscv64_standalone", ++ ":f32-qc4w-gemm_riscv64_standalone", ++ ":f32-qc8w-gemm_riscv64_standalone", ++ ":f32-qs8-vcvt_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-qs8-vcvt_riscv64_standalone", ++ ":f32-qu8-vcvt_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-qu8-vcvt_riscv64_standalone", ++ ":f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-raddstoreexpminusmax_riscv64_standalone", ++ ":f32-rdminmax_riscv64_standalone", ++ ":f32-rdsum2_riscv64_standalone", ++ ":f32-rdsum_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-rdsum_riscv64_standalone", ++ ":f32-rminmax_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-rminmax_riscv64_standalone", ++ ":f32-rsum2_riscv64_standalone", ++ ":f32-rsum_riscv64_standalone", ++ ":f32-spmm_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-spmm_riscv64_standalone", ++ ":f32-vapproxgelu_riscv64_standalone", ++ ":f32-vbinary_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vbinary_riscv64_standalone", ++ ":f32-vclamp_riscv64_standalone", ++ ":f32-vcmul_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vcmul_riscv64_standalone", ++ ":f32-vcopysign_riscv64_standalone", ++ ":f32-vcos_riscv64_standalone", ++ ":f32-velu_riscv64_standalone", ++ ":f32-vexp_riscv64_standalone", ++ ":f32-vgelu_riscv64_standalone", ++ ":f32-vhswish_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vhswish_riscv64_standalone", ++ ":f32-vlog_riscv64_standalone", ++ ":f32-vlrelu_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vlrelu_riscv64_standalone", ++ ":f32-vmulcaddc_riscv64_standalone", ++ ":f32-vrnd_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vrnd_riscv64_standalone", ++ ":f32-vrsqrt_arch=rv64gcv-abi=lp64d_standalone", ++ ":f32-vrsqrt_riscv64_standalone", ++ ":f32-vsigmoid_riscv64_standalone", ++ ":f32-vsin_riscv64_standalone", ++ ":f32-vsqrt_riscv64_standalone", ++ ":f32-vtanh_riscv64_standalone", ++ ":f32-vunary_riscv64_standalone", ++ ":operators_riscv64_standalone", ++ ":qd8-f32-qb4w-gemm_riscv64_standalone", ++ ":qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":qd8-f32-qc4w-gemm_riscv64_standalone", ++ ":qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":qd8-f32-qc8w-gemm_riscv64_standalone", ++ ":qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":qd8-f32-qc8w-igemm_riscv64_standalone", ++ ":qs8-dwconv_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-dwconv_riscv64_standalone", ++ ":qs8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-f32-vcvt_riscv64_standalone", ++ ":qs8-packw_riscv64_standalone", ++ ":qs8-qc4w-gemm_riscv64_standalone", ++ ":qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-qc8w-dwconv_riscv64_standalone", ++ ":qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-qc8w-gemm_riscv64_standalone", ++ ":qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-qc8w-igemm_riscv64_standalone", ++ ":qs8-qu8-packw_riscv64_standalone", ++ ":qs8-rdsum_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-rdsum_riscv64_standalone", ++ ":qs8-rsum_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-rsum_riscv64_standalone", ++ ":qs8-vadd_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-vadd_riscv64_standalone", ++ ":qs8-vaddc_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-vaddc_riscv64_standalone", ++ ":qs8-vcvt_riscv64_standalone", ++ ":qs8-vlrelu_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-vlrelu_riscv64_standalone", ++ ":qs8-vmul_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-vmul_riscv64_standalone", ++ ":qs8-vmulc_arch=rv64gcv-abi=lp64d_standalone", ++ ":qs8-vmulc_riscv64_standalone", ++ ":qs8-vprelu_riscv64_standalone", ++ ":qs8-vpreluc_riscv64_standalone", ++ ":qs8-vrpreluc_riscv64_standalone", ++ ":qu8-dwconv_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-dwconv_riscv64_standalone", ++ ":qu8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-f32-vcvt_riscv64_standalone", ++ ":qu8-gemm_riscv64_standalone", ++ ":qu8-igemm_riscv64_standalone", ++ ":qu8-rdsum_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-rdsum_riscv64_standalone", ++ ":qu8-rsum_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-rsum_riscv64_standalone", ++ ":qu8-vadd_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-vadd_riscv64_standalone", ++ ":qu8-vaddc_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-vaddc_riscv64_standalone", ++ ":qu8-vcvt_riscv64_standalone", ++ ":qu8-vlrelu_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-vlrelu_riscv64_standalone", ++ ":qu8-vmul_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-vmul_riscv64_standalone", ++ ":qu8-vmulc_arch=rv64gcv-abi=lp64d_standalone", ++ ":qu8-vmulc_riscv64_standalone", ++ ":qu8-vprelu_riscv64_standalone", ++ ":qu8-vpreluc_riscv64_standalone", ++ ":qu8-vrpreluc_riscv64_standalone", ++ ":reference_riscv64_standalone", ++ ":s8-ibilinear_riscv64_standalone", ++ ":s8-maxpool_riscv64_standalone", ++ ":s8-rdminmax_riscv64_standalone", ++ ":s8-rminmax_riscv64_standalone", ++ ":s8-vclamp_arch=rv64gcv-abi=lp64d_standalone", ++ ":s8-vclamp_riscv64_standalone", ++ ":subgraph_riscv64_standalone", ++ ":tables_riscv64_standalone", ++ ":u8-ibilinear_riscv64_standalone", ++ ":u8-lut32norm_riscv64_standalone", ++ ":u8-maxpool_riscv64_standalone", ++ ":u8-rdminmax_riscv64_standalone", ++ ":u8-rminmax_riscv64_standalone", ++ ":u8-vclamp_arch=rv64gcv-abi=lp64d_standalone", ++ ":u8-vclamp_riscv64_standalone", ++ ":x16-transposec_riscv64_standalone", ++ ":x16-x32-packw_riscv64_standalone", ++ ":x24-transposec_riscv64_standalone", ++ ":x32-packw_arch=rv64gcv-abi=lp64d_standalone", ++ ":x32-packw_riscv64_standalone", ++ ":x32-transposec_arch=rv64gcv-abi=lp64d_standalone", ++ ":x32-transposec_riscv64_standalone", ++ ":x32-unpool_riscv64_standalone", ++ ":x64-transposec_riscv64_standalone", ++ ":x8-lut_riscv64_standalone", ++ ":x8-packq_riscv64_standalone", ++ ":x8-packw_riscv64_standalone", ++ ":x8-transposec_riscv64_standalone", ++ ":xx-copy_riscv64_standalone", ++ ":xx-fill_riscv64_standalone", ++ ":xx-pad_riscv64_standalone", ++ ":xx-transposev_riscv64_standalone" + ] + } +-} else if (current_cpu == "riscv64") { ++} else ++if (current_cpu == "ppc64") { ++ + if (build_with_chromium) { + xnnpack_deps = [ +- ":configs_riscv64", +- ":enums_riscv64", +- ":f16-f32-vcvt_riscv64", +- ":f16-qs8-vcvt_riscv64", +- ":f16-qu8-vcvt_riscv64", +- ":f16-rdminmax_riscv64", +- ":f16-rminmax_riscv64", +- ":f16-vapproxgelu_riscv64", +- ":f16-vcos_riscv64", +- ":f16-vexp_riscv64", +- ":f16-vgelu_riscv64", +- ":f16-vsin_riscv64", +- ":f32-argmaxpool_arch=rv64gcv-abi=lp64d", +- ":f32-argmaxpool_riscv64", +- ":f32-avgpool_riscv64", +- ":f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d", +- ":f32-conv-hwc2chw_riscv64", +- ":f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d", +- ":f32-dwconv2d-chw_riscv64", +- ":f32-dwconv_arch=rv64gcv-abi=lp64d", +- ":f32-dwconv_riscv64", +- ":f32-f16-vcvt_riscv64", +- ":f32-gemm_arch=rv64gcv-abi=lp64d", +- ":f32-gemm_riscv64", +- ":f32-ibilinear-chw_riscv64", +- ":f32-ibilinear_riscv64", +- ":f32-igemm_arch=rv64gcv-abi=lp64d", +- ":f32-igemm_riscv64", +- ":f32-maxpool_arch=rv64gcv-abi=lp64d", +- ":f32-maxpool_riscv64", +- ":f32-qc4w-gemm_riscv64", +- ":f32-qc8w-gemm_riscv64", +- ":f32-qs8-vcvt_arch=rv64gcv-abi=lp64d", +- ":f32-qs8-vcvt_riscv64", +- ":f32-qu8-vcvt_arch=rv64gcv-abi=lp64d", +- ":f32-qu8-vcvt_riscv64", +- ":f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d", +- ":f32-raddstoreexpminusmax_riscv64", +- ":f32-rdminmax_riscv64", +- ":f32-rdsum2_riscv64", +- ":f32-rdsum_arch=rv64gcv-abi=lp64d", +- ":f32-rdsum_riscv64", +- ":f32-rminmax_arch=rv64gcv-abi=lp64d", +- ":f32-rminmax_riscv64", +- ":f32-rsum2_riscv64", +- ":f32-rsum_riscv64", +- ":f32-spmm_arch=rv64gcv-abi=lp64d", +- ":f32-spmm_riscv64", +- ":f32-vapproxgelu_riscv64", +- ":f32-vbinary_arch=rv64gcv-abi=lp64d", +- ":f32-vbinary_riscv64", +- ":f32-vclamp_riscv64", +- ":f32-vcmul_arch=rv64gcv-abi=lp64d", +- ":f32-vcmul_riscv64", +- ":f32-vcopysign_riscv64", +- ":f32-vcos_riscv64", +- ":f32-velu_riscv64", +- ":f32-vexp_riscv64", +- ":f32-vgelu_riscv64", +- ":f32-vhswish_arch=rv64gcv-abi=lp64d", +- ":f32-vhswish_riscv64", +- ":f32-vlog_riscv64", +- ":f32-vlrelu_arch=rv64gcv-abi=lp64d", +- ":f32-vlrelu_riscv64", +- ":f32-vmulcaddc_riscv64", +- ":f32-vrnd_arch=rv64gcv-abi=lp64d", +- ":f32-vrnd_riscv64", +- ":f32-vrsqrt_arch=rv64gcv-abi=lp64d", +- ":f32-vrsqrt_riscv64", +- ":f32-vsigmoid_riscv64", +- ":f32-vsin_riscv64", +- ":f32-vsqrt_riscv64", +- ":f32-vtanh_riscv64", +- ":f32-vunary_riscv64", +- ":operators_riscv64", +- ":qd8-f32-qb4w-gemm_riscv64", +- ":qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d", +- ":qd8-f32-qc4w-gemm_riscv64", +- ":qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d", +- ":qd8-f32-qc8w-gemm_riscv64", +- ":qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d", +- ":qd8-f32-qc8w-igemm_riscv64", +- ":qs8-dwconv_arch=rv64gcv-abi=lp64d", +- ":qs8-dwconv_riscv64", +- ":qs8-f32-vcvt_arch=rv64gcv-abi=lp64d", +- ":qs8-f32-vcvt_riscv64", +- ":qs8-packw_riscv64", +- ":qs8-qc4w-gemm_riscv64", +- ":qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d", +- ":qs8-qc8w-dwconv_riscv64", +- ":qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d", +- ":qs8-qc8w-gemm_riscv64", +- ":qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d", +- ":qs8-qc8w-igemm_riscv64", +- ":qs8-qu8-packw_riscv64", +- ":qs8-rdsum_arch=rv64gcv-abi=lp64d", +- ":qs8-rdsum_riscv64", +- ":qs8-rsum_arch=rv64gcv-abi=lp64d", +- ":qs8-rsum_riscv64", +- ":qs8-vadd_arch=rv64gcv-abi=lp64d", +- ":qs8-vadd_riscv64", +- ":qs8-vaddc_arch=rv64gcv-abi=lp64d", +- ":qs8-vaddc_riscv64", +- ":qs8-vcvt_riscv64", +- ":qs8-vlrelu_arch=rv64gcv-abi=lp64d", +- ":qs8-vlrelu_riscv64", +- ":qs8-vmul_arch=rv64gcv-abi=lp64d", +- ":qs8-vmul_riscv64", +- ":qs8-vmulc_arch=rv64gcv-abi=lp64d", +- ":qs8-vmulc_riscv64", +- ":qs8-vprelu_riscv64", +- ":qs8-vpreluc_riscv64", +- ":qs8-vrpreluc_riscv64", +- ":qu8-dwconv_arch=rv64gcv-abi=lp64d", +- ":qu8-dwconv_riscv64", +- ":qu8-f32-vcvt_arch=rv64gcv-abi=lp64d", +- ":qu8-f32-vcvt_riscv64", +- ":qu8-gemm_riscv64", +- ":qu8-igemm_riscv64", +- ":qu8-rdsum_arch=rv64gcv-abi=lp64d", +- ":qu8-rdsum_riscv64", +- ":qu8-rsum_arch=rv64gcv-abi=lp64d", +- ":qu8-rsum_riscv64", +- ":qu8-vadd_arch=rv64gcv-abi=lp64d", +- ":qu8-vadd_riscv64", +- ":qu8-vaddc_arch=rv64gcv-abi=lp64d", +- ":qu8-vaddc_riscv64", +- ":qu8-vcvt_riscv64", +- ":qu8-vlrelu_arch=rv64gcv-abi=lp64d", +- ":qu8-vlrelu_riscv64", +- ":qu8-vmul_arch=rv64gcv-abi=lp64d", +- ":qu8-vmul_riscv64", +- ":qu8-vmulc_arch=rv64gcv-abi=lp64d", +- ":qu8-vmulc_riscv64", +- ":qu8-vprelu_riscv64", +- ":qu8-vpreluc_riscv64", +- ":qu8-vrpreluc_riscv64", +- ":reference_riscv64", +- ":s8-ibilinear_riscv64", +- ":s8-maxpool_riscv64", +- ":s8-rdminmax_riscv64", +- ":s8-rminmax_riscv64", +- ":s8-vclamp_arch=rv64gcv-abi=lp64d", +- ":s8-vclamp_riscv64", +- ":subgraph_riscv64", +- ":tables_riscv64", +- ":u8-ibilinear_riscv64", +- ":u8-lut32norm_riscv64", +- ":u8-maxpool_riscv64", +- ":u8-rdminmax_riscv64", +- ":u8-rminmax_riscv64", +- ":u8-vclamp_arch=rv64gcv-abi=lp64d", +- ":u8-vclamp_riscv64", +- ":x16-transposec_riscv64", +- ":x16-x32-packw_riscv64", +- ":x24-transposec_riscv64", +- ":x32-packw_arch=rv64gcv-abi=lp64d", +- ":x32-packw_riscv64", +- ":x32-transposec_arch=rv64gcv-abi=lp64d", +- ":x32-transposec_riscv64", +- ":x32-unpool_riscv64", +- ":x64-transposec_riscv64", +- ":x8-lut_riscv64", +- ":x8-packq_riscv64", +- ":x8-packw_riscv64", +- ":x8-transposec_riscv64", +- ":xx-copy_riscv64", +- ":xx-fill_riscv64", +- ":xx-pad_riscv64", +- ":xx-transposev_riscv64", ++ ":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-rdsum2_ppc64", ++ ":f32-rdsum_ppc64", ++ ":f32-rminmax_ppc64", ++ ":f32-rsum2_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-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", ++ ":qs8-vprelu_ppc64", ++ ":qs8-vpreluc_ppc64", ++ ":qs8-vrpreluc_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", ++ ":qu8-vprelu_ppc64", ++ ":qu8-vpreluc_ppc64", ++ ":qu8-vrpreluc_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" + ] + } + + if (build_with_internal_optimization_guide) { + xnnpack_standalone_deps = [ +- ":configs_riscv64_standalone", +- ":enums_riscv64_standalone", +- ":f16-f32-vcvt_riscv64_standalone", +- ":f16-qs8-vcvt_riscv64_standalone", +- ":f16-qu8-vcvt_riscv64_standalone", +- ":f16-rdminmax_riscv64_standalone", +- ":f16-rminmax_riscv64_standalone", +- ":f16-vapproxgelu_riscv64_standalone", +- ":f16-vcos_riscv64_standalone", +- ":f16-vexp_riscv64_standalone", +- ":f16-vgelu_riscv64_standalone", +- ":f16-vsin_riscv64_standalone", +- ":f32-argmaxpool_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-argmaxpool_riscv64_standalone", +- ":f32-avgpool_riscv64_standalone", +- ":f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-conv-hwc2chw_riscv64_standalone", +- ":f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-dwconv2d-chw_riscv64_standalone", +- ":f32-dwconv_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-dwconv_riscv64_standalone", +- ":f32-f16-vcvt_riscv64_standalone", +- ":f32-gemm_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-gemm_riscv64_standalone", +- ":f32-ibilinear-chw_riscv64_standalone", +- ":f32-ibilinear_riscv64_standalone", +- ":f32-igemm_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-igemm_riscv64_standalone", +- ":f32-maxpool_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-maxpool_riscv64_standalone", +- ":f32-qc4w-gemm_riscv64_standalone", +- ":f32-qc8w-gemm_riscv64_standalone", +- ":f32-qs8-vcvt_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-qs8-vcvt_riscv64_standalone", +- ":f32-qu8-vcvt_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-qu8-vcvt_riscv64_standalone", +- ":f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-raddstoreexpminusmax_riscv64_standalone", +- ":f32-rdminmax_riscv64_standalone", +- ":f32-rdsum2_riscv64_standalone", +- ":f32-rdsum_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-rdsum_riscv64_standalone", +- ":f32-rminmax_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-rminmax_riscv64_standalone", +- ":f32-rsum2_riscv64_standalone", +- ":f32-rsum_riscv64_standalone", +- ":f32-spmm_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-spmm_riscv64_standalone", +- ":f32-vapproxgelu_riscv64_standalone", +- ":f32-vbinary_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vbinary_riscv64_standalone", +- ":f32-vclamp_riscv64_standalone", +- ":f32-vcmul_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vcmul_riscv64_standalone", +- ":f32-vcopysign_riscv64_standalone", +- ":f32-vcos_riscv64_standalone", +- ":f32-velu_riscv64_standalone", +- ":f32-vexp_riscv64_standalone", +- ":f32-vgelu_riscv64_standalone", +- ":f32-vhswish_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vhswish_riscv64_standalone", +- ":f32-vlog_riscv64_standalone", +- ":f32-vlrelu_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vlrelu_riscv64_standalone", +- ":f32-vmulcaddc_riscv64_standalone", +- ":f32-vrnd_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vrnd_riscv64_standalone", +- ":f32-vrsqrt_arch=rv64gcv-abi=lp64d_standalone", +- ":f32-vrsqrt_riscv64_standalone", +- ":f32-vsigmoid_riscv64_standalone", +- ":f32-vsin_riscv64_standalone", +- ":f32-vsqrt_riscv64_standalone", +- ":f32-vtanh_riscv64_standalone", +- ":f32-vunary_riscv64_standalone", +- ":operators_riscv64_standalone", +- ":qd8-f32-qb4w-gemm_riscv64_standalone", +- ":qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d_standalone", +- ":qd8-f32-qc4w-gemm_riscv64_standalone", +- ":qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone", +- ":qd8-f32-qc8w-gemm_riscv64_standalone", +- ":qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone", +- ":qd8-f32-qc8w-igemm_riscv64_standalone", +- ":qs8-dwconv_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-dwconv_riscv64_standalone", +- ":qs8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-f32-vcvt_riscv64_standalone", +- ":qs8-packw_riscv64_standalone", +- ":qs8-qc4w-gemm_riscv64_standalone", +- ":qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-qc8w-dwconv_riscv64_standalone", +- ":qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-qc8w-gemm_riscv64_standalone", +- ":qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-qc8w-igemm_riscv64_standalone", +- ":qs8-qu8-packw_riscv64_standalone", +- ":qs8-rdsum_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-rdsum_riscv64_standalone", +- ":qs8-rsum_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-rsum_riscv64_standalone", +- ":qs8-vadd_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-vadd_riscv64_standalone", +- ":qs8-vaddc_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-vaddc_riscv64_standalone", +- ":qs8-vcvt_riscv64_standalone", +- ":qs8-vlrelu_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-vlrelu_riscv64_standalone", +- ":qs8-vmul_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-vmul_riscv64_standalone", +- ":qs8-vmulc_arch=rv64gcv-abi=lp64d_standalone", +- ":qs8-vmulc_riscv64_standalone", +- ":qs8-vprelu_riscv64_standalone", +- ":qs8-vpreluc_riscv64_standalone", +- ":qs8-vrpreluc_riscv64_standalone", +- ":qu8-dwconv_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-dwconv_riscv64_standalone", +- ":qu8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-f32-vcvt_riscv64_standalone", +- ":qu8-gemm_riscv64_standalone", +- ":qu8-igemm_riscv64_standalone", +- ":qu8-rdsum_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-rdsum_riscv64_standalone", +- ":qu8-rsum_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-rsum_riscv64_standalone", +- ":qu8-vadd_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-vadd_riscv64_standalone", +- ":qu8-vaddc_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-vaddc_riscv64_standalone", +- ":qu8-vcvt_riscv64_standalone", +- ":qu8-vlrelu_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-vlrelu_riscv64_standalone", +- ":qu8-vmul_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-vmul_riscv64_standalone", +- ":qu8-vmulc_arch=rv64gcv-abi=lp64d_standalone", +- ":qu8-vmulc_riscv64_standalone", +- ":qu8-vprelu_riscv64_standalone", +- ":qu8-vpreluc_riscv64_standalone", +- ":qu8-vrpreluc_riscv64_standalone", +- ":reference_riscv64_standalone", +- ":s8-ibilinear_riscv64_standalone", +- ":s8-maxpool_riscv64_standalone", +- ":s8-rdminmax_riscv64_standalone", +- ":s8-rminmax_riscv64_standalone", +- ":s8-vclamp_arch=rv64gcv-abi=lp64d_standalone", +- ":s8-vclamp_riscv64_standalone", +- ":subgraph_riscv64_standalone", +- ":tables_riscv64_standalone", +- ":u8-ibilinear_riscv64_standalone", +- ":u8-lut32norm_riscv64_standalone", +- ":u8-maxpool_riscv64_standalone", +- ":u8-rdminmax_riscv64_standalone", +- ":u8-rminmax_riscv64_standalone", +- ":u8-vclamp_arch=rv64gcv-abi=lp64d_standalone", +- ":u8-vclamp_riscv64_standalone", +- ":x16-transposec_riscv64_standalone", +- ":x16-x32-packw_riscv64_standalone", +- ":x24-transposec_riscv64_standalone", +- ":x32-packw_arch=rv64gcv-abi=lp64d_standalone", +- ":x32-packw_riscv64_standalone", +- ":x32-transposec_arch=rv64gcv-abi=lp64d_standalone", +- ":x32-transposec_riscv64_standalone", +- ":x32-unpool_riscv64_standalone", +- ":x64-transposec_riscv64_standalone", +- ":x8-lut_riscv64_standalone", +- ":x8-packq_riscv64_standalone", +- ":x8-packw_riscv64_standalone", +- ":x8-transposec_riscv64_standalone", +- ":xx-copy_riscv64_standalone", +- ":xx-fill_riscv64_standalone", +- ":xx-pad_riscv64_standalone", +- ":xx-transposev_riscv64_standalone", ++ ":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-rdsum2_ppc64_standalone", ++ ":f32-rdsum_ppc64_standalone", ++ ":f32-rminmax_ppc64_standalone", ++ ":f32-rsum2_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-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", ++ ":qs8-vprelu_ppc64_standalone", ++ ":qs8-vpreluc_ppc64_standalone", ++ ":qs8-vrpreluc_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", ++ ":qu8-vprelu_ppc64_standalone", ++ ":qu8-vpreluc_ppc64_standalone", ++ ":qu8-vrpreluc_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 { +@@ -1895,6 +2159,7 @@ if (current_cpu == "x64" || current_cpu + } + } + ++ + if (build_with_chromium) { + source_set("xnnpack") { + public = [ "src/include/xnnpack.h" ] +@@ -1905,38 +2170,38 @@ if (build_with_chromium) { + configs += [ ":xnnpack_private_config" ] + + 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", +- "src/src/indirection.c", +- "src/src/init.c", +- "src/src/log.c", +- "src/src/memory-planner.c", +- "src/src/memory.c", +- "src/src/microkernel-utils.c", +- "src/src/microparams-init.c", +- "src/src/mutex.c", +- "src/src/normalization.c", +- "src/src/operator-delete.c", +- "src/src/operator-run.c", +- "src/src/operator-utils.c", +- "src/src/pack-lh.cc", +- "src/src/params.c", +- "src/src/runtime.c", +- "src/src/sanitizers.c", +- "src/src/subgraph.c", +- "src/src/tensor.c", +- "src/src/xnnpack/fingerprint_check.c", ++ "src/src/cache.c", ++ "src/src/datatype.c", ++ "src/src/indirection.c", ++ "src/src/init.c", ++ "src/src/log.c", ++ "src/src/memory-planner.c", ++ "src/src/memory.c", ++ "src/src/microkernel-utils.c", ++ "src/src/microparams-init.c", ++ "src/src/mutex.c", ++ "src/src/normalization.c", ++ "src/src/operator-delete.c", ++ "src/src/operator-run.c", ++ "src/src/operator-utils.c", ++ "src/src/pack-lh.cc", ++ "src/src/params.c", ++ "src/src/runtime.c", ++ "src/src/sanitizers.c", ++ "src/src/subgraph.c", ++ "src/src/tensor.c", ++ "src/src/xnnpack/fingerprint_check.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_public_config" ] + } +@@ -1953,38 +2218,38 @@ if (build_with_internal_optimization_gui + configs += [ ":xnnpack_private_config" ] + + 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", +- "src/src/indirection.c", +- "src/src/init.c", +- "src/src/log.c", +- "src/src/memory-planner.c", +- "src/src/memory.c", +- "src/src/microkernel-utils.c", +- "src/src/microparams-init.c", +- "src/src/mutex.c", +- "src/src/normalization.c", +- "src/src/operator-delete.c", +- "src/src/operator-run.c", +- "src/src/operator-utils.c", +- "src/src/pack-lh.cc", +- "src/src/params.c", +- "src/src/runtime.c", +- "src/src/sanitizers.c", +- "src/src/subgraph.c", +- "src/src/tensor.c", +- "src/src/xnnpack/fingerprint_check.c", ++ "src/src/cache.c", ++ "src/src/datatype.c", ++ "src/src/indirection.c", ++ "src/src/init.c", ++ "src/src/log.c", ++ "src/src/memory-planner.c", ++ "src/src/memory.c", ++ "src/src/microkernel-utils.c", ++ "src/src/microparams-init.c", ++ "src/src/mutex.c", ++ "src/src/normalization.c", ++ "src/src/operator-delete.c", ++ "src/src/operator-run.c", ++ "src/src/operator-utils.c", ++ "src/src/pack-lh.cc", ++ "src/src/params.c", ++ "src/src/runtime.c", ++ "src/src/sanitizers.c", ++ "src/src/subgraph.c", ++ "src/src/tensor.c", ++ "src/src/xnnpack/fingerprint_check.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_public_config" ] + +@@ -1995,56421 +2260,65945 @@ if (build_with_internal_optimization_gui + } + + if (current_cpu == "x64" || current_cpu == "x86") { +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("configs_x64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("enums_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("enums_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-avgpool_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-dwconv_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-dwconv_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-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/f16-f32-vcvt/gen/f16-f32-vcvt-avx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-avgpool_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c" ++ ] + +- if (build_with_chromium) { +- source_set( +- "f16-f32-vcvt_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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32-vcvt_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32-vcvt_sse2-no-sse3") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-dwconv_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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 (build_with_chromium) { +- source_set("f16-f32-vcvt_sse4.1-no-sse4.2") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32-vcvt_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-dwconv_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32-vcvt_x64_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32acc-gemm_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32acc-igemm_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-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/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set( +- "f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-avx512skx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-avx512skx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_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-avx512skx-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32acc-rdsum2_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-f16c.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rdsum2_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-f16c.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-avx512skx-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-avx512skx-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set( +- "f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-avx512skx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-avx512skx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32acc-rsum2_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-f16c.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32-vcvt_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-f16c-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rsum2_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-f16c.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-ibilinear_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f16-maxpool_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-maxpool_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_sse4.1-no-sse4.2") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-maxpool_sse4.1-no-sse4.2") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-qs8-vcvt_x64") { +- cflags = [] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qs8-vcvt_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-qu8-vcvt_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c", +- ] ++if (build_with_chromium) { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qu8-vcvt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-rdminmax_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-f32acc-gemm_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set( +- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32acc-igemm_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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 (build_with_chromium) { +- source_set("f16-rminmax_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rminmax_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-rminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rminmax_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-avx512skx.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vapproxgelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rdsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-avx512skx.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vapproxgelu_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-f32acc-rdsum2_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-f16c.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rdsum2_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-f16c.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vclamp_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vclamp/gen/f16-vclamp-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-avx512skx-u64.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vcos_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-avx512skx-u64.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vcos_x64_standalone") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-f16c-u32.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-velu_f16c-fma-avx2_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vexp_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-f16c-u32.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vexp_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-avx512skx.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vgelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum2_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-avx512skx.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vgelu_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-f32acc-rsum2_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-f16c.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vhswish_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum2_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-f16c.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-vlrelu_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vmulcaddc_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vrnd_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vrnd_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-vsigmoid_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vsin_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsin_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-ibilinear_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-u8.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vsqrt_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-u8.c" ++ ] + +- if (build_with_chromium) { +- source_set("f16-vtanh_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vtanh_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vtanh_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-maxpool_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vunary_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-maxpool_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f16-vunary_sse2-no-sse3") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-maxpool_sse4.1-no-sse4.2") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-argmaxpool_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-argmaxpool_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-argmaxpool_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-argmaxpool_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-qs8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-avgpool_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-qu8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-avgpool_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-avgpool_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qu8-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_x64_standalone") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-conv-hwc2chw_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-conv-hwc2chw_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-conv-hwc2chw_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-rdminmax_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rdminmax_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_x64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f32-dwconv_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-rminmax_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rminmax/f16-rmax-f16c-u32.c" ++ ] + +- if (build_with_chromium) { +- 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" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rminmax_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/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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "f32-f16-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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") { +- cflags = [ +- "-mf16c", +- "-mno-avx2", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-f16-vcvt/gen/f32-f16-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-vcvt_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-vcvt_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vapproxgelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_sse4.1-no-sse4.2") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vapproxgelu_x64_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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-vcvt_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-gemm_avx512f") { +- cflags = [ "-mavx512f" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ 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" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-gemm_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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-2x16-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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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-2x16-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-gemm_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_sse-no-sse2_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-gemm_x64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-vclamp_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vclamp/gen/f16-vclamp-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 += [ ":xnnpack_private_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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-ibilinear-chw_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear-chw_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-ibilinear-chw_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c", +- ] ++if (build_with_chromium) { ++ source_set("f16-vcos_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear-chw_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vcos_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-ibilinear_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-ibilinear_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c", +- ] ++if (build_with_chromium) { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-velu_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_avx512f") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f16-vexp_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vexp_x64_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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-igemm_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-vgelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_sse-no-sse2_standalone") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vgelu_x64_standalone") { ++ 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/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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-maxpool_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-vhswish_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-maxpool_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-maxpool_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-maxpool_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vlrelu_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vmulcaddc_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc4w-gemm_x64_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vrnd_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qc8w-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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vrnd_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set( +- "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/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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_f16c-fma-no-avx2") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") { +- cflags = [ +- "-mf16c", +- "-mfma", +- "-mno-avx2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_x64") { +- 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-4x4-minmax-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("f16-vsigmoid_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-vsin_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set( +- "f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsin_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vsqrt_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") { +- cflags = [ +- "-mno-sse4.2", +- "-msse4.1", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vtanh_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c" ++ ] + +- if (build_with_chromium) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vtanh_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vtanh_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-qu8-vcvt_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qu8-vcvt_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ 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/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-vunary_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vunary/gen/f16-vsqr-f16c-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f16-vunary_sse2-no-sse3") { ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-argmaxpool_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-rdminmax/gen/f32-rdmax-2p2x-avx-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdminmax_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-argmaxpool_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-rdminmax/gen/f32-rdmax-2p2x-avx512f-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdminmax_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdminmax_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdminmax_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdminmax_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-avgpool_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdsum2_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum2_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx512f.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx512f.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-avgpool_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdsum2_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-sse2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-sse2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum2_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-avgpool_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-u64.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-conv-hwc2chw_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rdsum_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-conv-hwc2chw_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rminmax_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-conv-hwc2chw_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv2d-chw_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rsum2_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-avx-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-avx-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum2_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ 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/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rsum2_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-sse2-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-sse2-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum2_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-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-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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum/gen/f32-rsum-avx512f-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum_avx512f_standalone") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum/gen/f32-rsum-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rsum_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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 (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-spmm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vapproxgelu_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vapproxgelu_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vapproxgelu_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c", +- ] ++if (build_with_chromium) { ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vapproxgelu_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-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-f16-vcvt/gen/f32-f16-vcvt-avx-u24.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vbinary_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-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-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") { ++ cflags = [ ++ "-mf16c", ++ "-mno-avx2", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-vbinary_x64") { +- cflags = [] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vbinary_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-vcvt_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-f16c-u16.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vclamp_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vclamp_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-vcvt_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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-vclamp/gen/f32-vclamp-avx512f.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vclamp_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-sse2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vclamp_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-sse2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vclamp_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_sse4.1-no-sse4.2") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vclamp_x64_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-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcmul_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcmul_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcmul_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c", +- ] ++if (build_with_chromium) { ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcmul_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcopysign_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("f32-gemm_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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-2x16-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcopysign_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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-2x16-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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcos_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-div.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-gemm_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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcos_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_sse-no-sse2_standalone") { ++ 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-vcos/gen/f32-vcos-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vcos/gen/f32-vcos-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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-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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vcos/gen/f32-vcos-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcos_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-ibilinear-chw_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-velu_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear-chw_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-velu_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-ibilinear-chw_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear-chw_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-velu_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-ibilinear_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-velu_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-sse-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("f32-ibilinear_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vexp_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vexp/gen/f32-vexp-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vexp/gen/f32-vexp-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vexp_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_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-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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vgelu_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vgelu/gen/f32-vgelu-avx512f-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vgelu_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-igemm_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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-vgelu/gen/f32-vgelu-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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 (build_with_chromium) { +- 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", +- "src/src/f32-vgelu/gen/f32-vgelu-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vgelu/gen/f32-vgelu-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vgelu_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-igemm_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vgelu_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_sse-no-sse2_standalone") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-avx512f.c", +- ] ++if (build_with_chromium) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-vhswish/gen/f32-vhswish-avx512f.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", +- "src/src/f32-vhswish/gen/f32-vhswish-sse2fma.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-maxpool_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", +- "src/src/f32-vhswish/gen/f32-vhswish-sse2fma.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-maxpool_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-maxpool_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlog_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-maxpool_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlog_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_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-avx-broadcast.c", ++ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vlog/gen/f32-vlog-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vlog/gen/f32-vlog-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlog_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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 (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlrelu_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlrelu_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlrelu_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_x64") { ++ 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-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlrelu_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc4w-gemm_x64_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-4x4-minmax-scalar.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vmulcaddc_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc8w-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-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vmulcaddc_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrnd_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("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/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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-vrnd_x64") { +- cflags = [] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrnd_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vrsqrt_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-sqrt.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_f16c-fma-no-avx2") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") { ++ cflags = [ ++ "-mf16c", ++ "-mfma", ++ "-mno-avx2" ++ ] ++ ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vrsqrt_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-rsqrt.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-rsqrt.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-sqrt.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ 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-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_x64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsigmoid_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_x64_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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsigmoid_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-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/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsin_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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-vsin/gen/f32-vsin-avx512f-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsin_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsin/gen/f32-vsin-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c" ++ ] + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vsin/gen/f32-vsin-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vsin/gen/f32-vsin-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsin_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsin_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsqrt_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsqrt_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") { ++ cflags = [ ++ "-mno-sse4.2", ++ "-msse4.1" ++ ] ++ ++ 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-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vsqrt_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-rsqrt.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsqrt_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-rsqrt.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsqrt_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsqrt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vtanh_avx512f") { +- cflags = [ "-mavx512f" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-div.c", +- ] ++if (build_with_chromium) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vtanh_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vtanh/gen/f32-vtanh-avx512f-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- "src/src/f32-vtanh/gen/f32-vtanh-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- "src/src/f32-vtanh/gen/f32-vtanh-sse2fma-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vtanh_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-qu8-vcvt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vunary_avx512f") { +- cflags = [ "-mavx512f" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vunary_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-qu8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vunary_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_avx512f_standalone") { ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vunary_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("operators_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-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 += [ ":xnnpack_private_config" ] + +- 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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("operators_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c" ++ ] + +- 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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-rdminmax/gen/f32-rdmax-2p2x-avx-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdminmax_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdminmax_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdminmax_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum2_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum2_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum2_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-sse2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-sse2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum2_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rdsum_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rsum2_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-avx-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-avx-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rsum2_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rsum2_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-sse2-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qb4w-gemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-sse2-u4.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qb4w-gemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rsum2_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-scalar-u1.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rsum_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rsum_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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-prfm.c", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-prfm.c", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vapproxgelu_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc4w-gemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vapproxgelu_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-div.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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.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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vclamp_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vclamp_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-sse2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-sse2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vclamp_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcmul_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ source_set("f32-vcos_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcos_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vcos/gen/f32-vcos-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vcos/gen/f32-vcos-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-dwconv_x64") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-dwconv_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ source_set("f32-velu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-velu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vexp/gen/f32-vexp-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vexp/gen/f32-vexp-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vgelu_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vgelu/gen/f32-vgelu-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vgelu_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vgelu/gen/f32-vgelu-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vgelu/gen/f32-vgelu-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vgelu/gen/f32-vgelu-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-f32-vcvt_x64") { +- cflags = [] ++if (build_with_chromium) { ++ 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.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vhswish_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-f32-vcvt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-avx512f.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-packw_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-packw_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ source_set("f32-vhswish_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", ++ "src/src/f32-vhswish/gen/f32-vhswish-sse2fma.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", ++ "src/src/f32-vhswish/gen/f32-vhswish-sse2fma.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-packw_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx2-madd.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vhswish_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-packw_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx2-madd.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-packw_x64") { +- cflags = [] ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vlog/gen/f32-vlog-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vlog/gen/f32-vlog-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-packw_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-avx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-avx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-avx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-avx-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- public_configs = [ ":xnnpack_public_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlrelu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set( +- "qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16c8-minmax-fp32-avx512skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x16c8-minmax-fp32-avx512skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16c8-minmax-fp32-avx512skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x16c8-minmax-fp32-avx512skx-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set( +- "qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256vnni-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256vnni-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_ssse3-no-sse4.1") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-ssse3-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_ssse3-no-sse4.1_standalone") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-ssse3-madd-prfm.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_x64") { +- cflags = [] ++if (build_with_chromium) { ++ 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.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-sqrt.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ source_set("f32-vsin_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsin/gen/f32-vsin-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsin_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsin/gen/f32-vsin-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-dwconv_x64") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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-25p1c-minmax-fp32-scalar-fmagic.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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-dwconv_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vsin/gen/f32-vsin-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vsin/gen/f32-vsin-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ 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-25p1c-minmax-fp32-scalar-fmagic.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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++if (build_with_chromium) { ++ 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.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-avx-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-avx-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vsqrt_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vsqrt_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-rsqrt.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-rsqrt.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vsqrt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vtanh_avx512f") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vtanh/gen/f32-vtanh-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vtanh_avx512f_standalone") { ++ cflags = [ ++ "-mavx512f" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vtanh/gen/f32-vtanh-avx512f-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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", ++ "src/src/f32-vtanh/gen/f32-vtanh-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/f32-vtanh/gen/f32-vtanh-sse2fma-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-prfm.c", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-prfm.c", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-f32-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-f32-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-packw_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-packw_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx2-madd.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx2-madd.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-packw_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-avx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-avx-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-avx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-avx-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16c8-minmax-fp32-avx512skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x16c8-minmax-fp32-avx512skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16c8-minmax-fp32-avx512skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x16c8-minmax-fp32-avx512skx-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256vnni-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-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/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x8c8-minmax-fp32-avx256vnni-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-7x8c8-minmax-fp32-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_ssse3-no-sse4.1") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-ssse3-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_ssse3-no-sse4.1_standalone") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4c8-minmax-ssse3-madd-prfm.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x4c8-minmax-ssse3-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnniint8", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnniint8", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnniint8", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnniint8", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-rsum_avx2-avxvnni-f16c-fma-gfni") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_avx2-avxvnni-f16c-fma-gfni_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mavxvnni", ++ "-mf16c", ++ "-mfma", ++ "-mgfni" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vlrelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vlrelu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vprelu_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vprelu_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vprelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vprelu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vpreluc_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vpreluc_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vpreluc_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vpreluc_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vrpreluc_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vrpreluc_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vrpreluc_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vrpreluc_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-f32-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-f32-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-gemm_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-gemm_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-igemm_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-igemm_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u64.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vcvt_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vcvt_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vlrelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vlrelu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vprelu_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vprelu_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vprelu_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vprelu_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vpreluc_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vpreluc_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vpreluc_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vpreluc_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vrpreluc_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vrpreluc_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-avx2-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-vrpreluc_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vrpreluc_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("s8-ibilinear_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("s8-ibilinear_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-ibilinear_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("s8-rdminmax_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rdminmax_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/subgraph-utils.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/subgraph-utils.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("u8-ibilinear_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u8.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u16.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("u8-ibilinear_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-ibilinear_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("u8-rdminmax_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rdminmax_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_f16c-fma-avx2_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("u8-vclamp_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("u8-vclamp_x64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_x64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x16-packw_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x16-transposec_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-transposec_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x16-transposec_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-transposec_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x16-transposec_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-transposec_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x16-x32-packw_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-x32-packw_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x24-transposec_ssse3-no-sse4.1") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x24-transposec_ssse3-no-sse4.1_standalone") { ++ cflags = [ ++ "-mno-sse4.1", ++ "-mssse3" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x24-transposec_x64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x24-transposec_x64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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", ++ "src/src/x32-packw/gen/x32-packw-x32c2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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", ++ "src/src/x32-packw/gen/x32-packw-x32c2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_sse2-no-sse3_standalone") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x32-transposec_sse-no-sse2") { ++ cflags = [ ++ "-mno-sse2", ++ "-msse" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/x32-transposec-4x4-sse.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x32-transposec_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-transposec_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x32-unpool_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-unpool_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x32-unpool_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-unpool_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma") { ++ cflags = [ ++ "-mavx", ++ "-mno-avx2", ++ "-mno-f16c", ++ "-mno-fma" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x64-transposec_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x64-transposec_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x64-transposec_x64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x64-transposec_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-lut_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { ++ cflags = [ ++ "-mavx512bw", ++ "-mavx512cd", ++ "-mavx512dq", ++ "-mavx512f", ++ "-mavx512vl", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-lut_x64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_x64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-packq_x64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-packq_x64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-transposec_f16c-fma-avx2") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-transposec_f16c-fma-avx2_standalone") { ++ cflags = [ ++ "-mavx2", ++ "-mf16c", ++ "-mfma" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-transposec_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("x8-transposec_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-transposec_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-copy_x64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-copy_x64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-fill_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-fill_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-fill_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-pad_sse2-no-sse3") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-pad_sse2-no-sse3_standalone") { ++ cflags = [ ++ "-mno-sse3", ++ "-msse2" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-pad_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-pad_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("xx-transposev_x64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-transposev_x64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++} ++ ++if (current_cpu == "arm64") { ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-avgpool_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-f32acc-rdsum2_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-minmax-neonfp16arith.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rdsum2_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-minmax-neonfp16arith.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-f32acc-rsum2_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-neonfp16arith.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum2_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-neonfp16arith.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-ibilinear_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-ibilinear/gen/f16-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-ibilinear/gen/f16-ibilinear-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-maxpool_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-qs8-vcvt_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-qu8-vcvt_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qu8-vcvt_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-rdminmax_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-u32.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-u32.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u32.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-u32.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-rdminmax_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rdminmax_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-rminmax_arch=armv8.2-a+fp16") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-rminmax_arm64") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-spmm_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-spmm_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vapproxgelu_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vapproxgelu_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vclamp_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vclamp/gen/f16-vclamp-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vcmul_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vcos_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vcos_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vcos_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-velu_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-velu_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vexp_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vexp_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vexp_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vexp_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vgelu_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vgelu_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vgelu_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vhswish_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vhswish/gen/f16-vhswish-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vlrelu_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vmulcaddc_arch=armv8.2-a+fp16_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vrsqrt_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vsigmoid_arch=armv8.2-a+fp16") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vsin_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vsin_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsin_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vsqrt_arch=armv8.2-a+fp16") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vtanh_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f16-vunary_arch=armv8.2-a+fp16") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_arm64") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-avgpool_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-2.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-2.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", ++ "src/src/f32-gemm/gen/f32-gemm-7x8-minmax-asm-aarch64-neonfma-ld128-2.S", ++ "src/src/f32-gemm/gen/f32-gemm-8x8-minmax-asm-aarch64-neonfma-ld128-2.S" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-2.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-2.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", ++ "src/src/f32-gemm/gen/f32-gemm-7x8-minmax-asm-aarch64-neonfma-ld128-2.S", ++ "src/src/f32-gemm/gen/f32-gemm-8x8-minmax-asm-aarch64-neonfma-ld128-2.S" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-gemm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", ++ "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-4x16-minmax-aarch64-neonfma-lane-ld128.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", ++ "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-4x16-minmax-aarch64-neonfma-lane-ld128.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-ibilinear-chw_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-ibilinear_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-neon-u8.c", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-u8.c", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-neon-u8.c", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-u8.c", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-igemm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", ++ "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-4x16-minmax-aarch64-neonfma-lane-ld128.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", ++ "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-4x16-minmax-aarch64-neonfma-lane-ld128.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-maxpool_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u4.c", ++ "src/src/f32-qu8-vcvt/gen/f32-qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c", ++ "src/src/f32-qu8-vcvt/gen/f32-qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-rdminmax_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-u32.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-rdsum2_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-neon.c", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-neon.c", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-rdsum_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-u16.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-u16.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-rsum2_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-neon.c", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-neon.c", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-rsum_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vapproxgelu_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vclamp_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-neon.c", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-neon.c", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vcmul_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcmul_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vcos_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcos_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vexp_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vexp_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vgelu_arm64") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vhswish_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-neon.c", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-neon.c", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vlog_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlog_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vlrelu_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlrelu_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vmulcaddc_arm64") { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vsigmoid_arm64") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vsin_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsin_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vsqrt_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("f32-vtanh_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vtanh_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf16-f16-f16-igemm/pf16-f16-f16-igemm-32x32c2-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf16-f16-f16-igemm/pf16-f16-f16-igemm-32x32c2-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("pf16-gemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf16-gemm/pf16-gemm-1x32c2-minmax-neonsme2.c", ++ "src/src/pf16-gemm/pf16-gemm-32x32c2-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("pf16-gemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf16-gemm/pf16-gemm-1x32c2-minmax-neonsme2.c", ++ "src/src/pf16-gemm/pf16-gemm-32x32c2-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("pf32-gemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme.c", ++ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", ++ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme.c", ++ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("pf32-gemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme.c", ++ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", ++ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme.c", ++ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pqs8-f32-qc8w-igemm/pqs8-f32-qc8w-igemm-32x32c4-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pqs8-f32-qc8w-igemm/pqs8-f32-qc8w-igemm-32x32c4-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", ++ "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", ++ "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qb4-packw_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qb4-packw/gen/qb4-packw-x16c4-gemm-goi-aarch64-neondot.c", ++ "src/src/qb4-packw/gen/qb4-packw-x16c8-gemm-goi-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qb4-packw_arch=armv8.2-a+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qb4-packw/gen/qb4-packw-x16c4-gemm-goi-aarch64-neondot.c", ++ "src/src/qb4-packw/gen/qb4-packw-x16c8-gemm-goi-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc4w-gemm_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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc8w-gemm_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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-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/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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f16-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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-gemm-1x16c4-minmax-neondot.c", ++ "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-gemm-1x16c4-minmax-neondot.c", ++ "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-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/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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16-minmax-neon-mlal-lane-prfm.c", ++ "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-2x8c2s4-minmax-neon-mlal.c", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16-minmax-neon-mlal-lane-prfm.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-1x16-minmax-neon-mlal-lane-prfm.c", ++ "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-2x8c2s4-minmax-neon-mlal.c", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16-minmax-neon-mlal-lane-prfm.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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-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/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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-igemm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16-minmax-neon-mlal-lane-prfm.c", ++ "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-2x8c2s4-minmax-neon-mlal.c", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16-minmax-neon-mlal-lane-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-1x16-minmax-neon-mlal-lane-prfm.c", ++ "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-2x8c2s4-minmax-neon-mlal.c", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16-minmax-neon-mlal-lane-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ 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-1x4c8s2-aarch64-neondot.c", ++ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-4x4c8s2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c", ++ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c8s2-aarch64-neondot.c", ++ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-4x4c8s2-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x64c4-neonsme2.c", ++ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x64c4-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x64c4-neonsme2.c", ++ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x64c4-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x64c4-neonsme2.c", ++ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x64c4-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x64c4-neonsme2.c", ++ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x64c4-neonsme2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-f32-vcvt_arm64") { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-packw_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+i8mm+fp16" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-prfm.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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-qu8-packw_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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-rdsum_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-u32.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rdsum_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-u32.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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-rsum_arch=armv8.2-a+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+dotprod" ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-rsum_arm64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_arm64_standalone") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vlrelu_arm64") { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vmul_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmul_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmulc_arm64_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" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vprelu_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vprelu_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vpreluc_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vpreluc_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qs8-vrpreluc_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vrpreluc_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-lrintf.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] ++ } ++ } ++} ++ ++if (build_with_chromium) { ++ source_set("qu8-f32-vcvt_arm64") { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} ++ ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnniint8", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = cflags + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ 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" ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnniint8", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = cflags + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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-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-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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_x64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-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-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+fp16+dotprod" ++ ] ++ ++ asmflags = cflags + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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-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-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 (build_with_chromium) { +- source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnniint8", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnniint8", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-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-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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-rsum_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rsum_arm64_standalone") { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qu8-packw_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ 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-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rdsum_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vlrelu_arm64") { ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rdsum_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-rsum_avx2-avxvnni-f16c-fma-gfni") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rsum_avx2-avxvnni-f16c-fma-gfni_standalone") { +- cflags = [ +- "-mavx2", +- "-mavxvnni", +- "-mf16c", +- "-mfma", +- "-mgfni", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vmul_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmul_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vmulc_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rsum_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmulc_arm64_standalone") { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vprelu_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vprelu_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vpreluc_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vpreluc_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vrpreluc_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vadd_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vrpreluc_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("reference_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-ibilinear_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u16.c", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u8.c", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-u1.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vaddc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-ibilinear_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u16.c", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u8.c", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-u1.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-maxpool_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-maxpool_arm64_standalone") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-rdminmax_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rdminmax_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-u32.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vcvt_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c", +- ] ++if (build_with_chromium) { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vcvt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("s8-vclamp_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-vclamp_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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/subgraph-utils.c", ++ "src/src/subgraph/unary.c", ++ "src/src/subgraph/unpooling-2d.c", ++ "src/src/subgraph/validation.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vlrelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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/subgraph-utils.c", ++ "src/src/subgraph/unary.c", ++ "src/src/subgraph/unpooling-2d.c", ++ "src/src/subgraph/validation.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vlrelu_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("u8-ibilinear_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u16.c", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u8.c", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-u1.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vmul_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-ibilinear_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u16.c", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u8.c", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-u1.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmul_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("u8-lut32norm_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-lut32norm_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("u8-maxpool_arm64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vmulc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-maxpool_arm64_standalone") { ++ 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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("u8-rdminmax_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vprelu_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vprelu_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vprelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rdminmax_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-u32.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vprelu_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vpreluc_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vpreluc_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vpreluc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vpreluc_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("u8-vclamp_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-neon-u64.c", ++ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vrpreluc_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vrpreluc_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vrpreluc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-neon-u64.c", ++ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vrpreluc_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x16-pack-lh/x16-packlh-igemm-neonsme.c", ++ "src/src/x16-pack-lh/x16-packlh-igemm-neonsme2.c", ++ "src/src/x16-pack-lh/x16-packlh-neonsme.c", ++ "src/src/x16-pack-lh/x16-packlh-neonsme2.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x16-pack-lh/x16-packlh-igemm-neonsme.c", ++ "src/src/x16-pack-lh/x16-packlh-igemm-neonsme2.c", ++ "src/src/x16-pack-lh/x16-packlh-neonsme.c", ++ "src/src/x16-pack-lh/x16-packlh-neonsme2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x16-packw_arm64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-packw_arm64_standalone") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x16-transposec_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-dwconv_x64") { +- cflags = [] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-dwconv_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x16-x32-packw_arm64") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-x32-packw_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-f32-vcvt_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-f32-vcvt_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-pack-lh/x32-packlh-neonsme.c", ++ "src/src/x32-pack-lh/x32-packlh-neonsme2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-pack-lh/x32-packlh-neonsme.c", ++ "src/src/x32-pack-lh/x32-packlh-neonsme2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x32-packw_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-packw/gen/x32-packw-gio-neon-u2.c", ++ "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-neon-ld4lane-u4-prfm.c", ++ "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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-packw/gen/x32-packw-gio-neon-u2.c", ++ "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-neon-ld4lane-u4-prfm.c", ++ "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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-gemm_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", +- "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c", +- ] ++if (build_with_chromium) { ++ source_set("x32-transposec_arm64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-gemm_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x32-unpool_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-unpool/x32-unpool-neon.c", ++ "src/src/x32-unpool/x32-unpool-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-unpool_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-unpool/x32-unpool-neon.c", ++ "src/src/x32-unpool/x32-unpool-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x64-transposec_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-igemm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-igemm_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x8-lut_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u64.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-rdsum_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_arm64_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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rdsum_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x8-pack-lh_arch=armv8.2-a+sve+sve2") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-pack-lh/x8-packlh-igemm-neonsme2.c", ++ "src/src/x8-pack-lh/x8-packlh-neonsme2.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { ++ cflags = [ ++ "-march=armv8.2-a+sve+sve2" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-pack-lh/x8-packlh-igemm-neonsme2.c", ++ "src/src/x8-pack-lh/x8-packlh-neonsme2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x8-packq_arm64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rsum_x64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("x8-transposec_arm64") { ++ 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" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vadd_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("xx-copy_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-copy_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("xx-fill_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-neon-u64.c", ++ "src/src/xx-fill/xx-fill-scalar-u16.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vaddc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-fill_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-neon-u64.c", ++ "src/src/xx-fill/xx-fill-scalar-u16.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("xx-pad_arm64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("xx-transposev_arm64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-transposev_arm64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vcvt_x64") { +- cflags = [] ++} + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c", +- ] ++if (current_cpu == "riscv64") { ++if (build_with_chromium) { ++ source_set("configs_riscv64") { ++ 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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vcvt_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("configs_riscv64_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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("enums_riscv64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("enums_riscv64_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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vlrelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vlrelu_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-qs8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ 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/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qs8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-qu8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vmul_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qu8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmul_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-rdminmax_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rdminmax_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-rminmax_riscv64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vmulc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rminmax_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vapproxgelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vprelu_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vprelu_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vprelu_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vapproxgelu_riscv64_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/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vprelu_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vcos_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vpreluc_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vpreluc_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vpreluc_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vcos_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vpreluc_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vexp_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vrpreluc_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vrpreluc_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-avx2-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vrpreluc_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vexp_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vrpreluc_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("f16-vgelu_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("reference_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vgelu_riscv64_standalone") { ++ 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("s8-ibilinear_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-vsin_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-ibilinear_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsin_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-ibilinear_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-rvv-u1v.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-maxpool_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-argmaxpool_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-rvv-u1v.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" ++ ] + +- if (build_with_chromium) { +- 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-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-rdminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-argmaxpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-rdminmax_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-avgpool_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-rminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x2v-rvv-2x2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x2v-rvv-2x2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-conv-hwc2chw_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-vclamp_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-conv-hwc2chw_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-rvv-7x1v.c", ++ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-rvv-2x2v.c" ++ ] + +- if (build_with_chromium) { +- source_set("subgraph_x64") { +- cflags = [] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("subgraph_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-rvv-7x1v.c", ++ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-rvv-2x2v.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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("tables_x64") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("tables_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-dwconv2d-chw_riscv64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("u8-ibilinear_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv2d-chw_riscv64_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" ++ ] + +- if (build_with_chromium) { +- 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-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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-u16.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("u8-ibilinear_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-dwconv_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-rvv.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-ibilinear_x64_standalone") { +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-lut32norm_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-minmax-rvv.c", ++ "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-rvv.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-dwconv_riscv64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-maxpool_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" ++ ] + +- if (build_with_chromium) { +- 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-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-rdminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rdminmax_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-gemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-gemm/gen/f32-gemm-1x4v-minmax-rvv.c", ++ "src/src/f32-gemm/gen/f32-gemm-7x4v-minmax-rvv.c" ++ ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-rminmax_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-gemm/gen/f32-gemm-1x4v-minmax-rvv.c", ++ "src/src/f32-gemm/gen/f32-gemm-7x4v-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rminmax_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-gemm_riscv64") { ++ 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-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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_f16c-fma-avx2_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_riscv64_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-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 (build_with_chromium) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set( +- "u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("u8-vclamp_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-ibilinear-chw_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-vclamp_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear-chw_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-ibilinear_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x16-packw_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- source_set("x16-transposec_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x16-transposec_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x16-transposec_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-igemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-igemm/gen/f32-igemm-1x4v-minmax-rvv.c", ++ "src/src/f32-igemm/gen/f32-igemm-7x4v-minmax-rvv.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-transposec_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x16-transposec_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-igemm/gen/f32-igemm-1x4v-minmax-rvv.c", ++ "src/src/f32-igemm/gen/f32-igemm-7x4v-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-transposec_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-igemm_riscv64") { ++ 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-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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_riscv64_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-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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x16-x32-packw_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x24-transposec_ssse3-no-sse4.1") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-maxpool_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x24-transposec_ssse3-no-sse4.1_standalone") { +- cflags = [ +- "-mno-sse4.1", +- "-mssse3", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x24-transposec_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-maxpool_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x24-transposec_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-maxpool_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-maxpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- if (build_with_chromium) { +- source_set("x32-packw_avx512f") { +- cflags = [ "-mavx512f" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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", +- "src/src/x32-packw/gen/x32-packw-x32c2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_avx512f_standalone") { +- cflags = [ "-mavx512f" ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_riscv64") { ++ 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-4x4-minmax-scalar.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", +- "src/src/x32-packw/gen/x32-packw-x32c2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_sse2-no-sse3_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc4w-gemm_riscv64_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-4x4-minmax-scalar.c" ++ ] + +- if (build_with_chromium) { +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_riscv64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_riscv64_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-4x4-minmax-scalar.c" ++ ] + +- if (build_with_chromium) { +- source_set("x32-transposec_sse-no-sse2") { +- cflags = [ +- "-mno-sse2", +- "-msse", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-transposec/x32-transposec-4x4-sse.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] ++ ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x32-transposec_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-transposec_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-rvv-u2v.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x32-unpool_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-unpool_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x32-unpool_x64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-unpool/x32-unpool-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-unpool_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma") { +- cflags = [ +- "-mavx", +- "-mno-avx2", +- "-mno-f16c", +- "-mno-fma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x64-transposec_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qu8-vcvt_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x64-transposec_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x64-transposec_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-rvv-u2v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x64-transposec_x64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-qu8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 (build_with_chromium) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-lut_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-lut_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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", ++ ] + +- if (build_with_chromium) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set( +- "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { +- cflags = [ +- "-mavx512bw", +- "-mavx512cd", +- "-mavx512dq", +- "-mavx512f", +- "-mavx512vl", +- "-mf16c", +- "-mfma", +- ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-rvv-rr2-p6-u4v.c" ++ ] + +- if (build_with_chromium) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-lut_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-rvv-rr2-p6-u4v.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-lut_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_riscv64") { ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-packq_x64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packq_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x8-packw_x64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rdminmax_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packw_x64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-transposec_f16c-fma-avx2") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-transposec_f16c-fma-avx2_standalone") { +- cflags = [ +- "-mavx2", +- "-mf16c", +- "-mfma", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x8-transposec_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-rdsum2_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-transposec_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-scalar.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-transposec_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rdsum_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-rvv-u4v.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("xx-copy_x64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-rvv-u4v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("xx-copy_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("xx-fill_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-rdsum_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("xx-fill_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-fill_x64_standalone") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rminmax_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rminmax/gen/f32-rmax-rvv-u8v.c", ++ "src/src/f32-rminmax/gen/f32-rmin-rvv-u8v.c", ++ "src/src/f32-rminmax/gen/f32-rminmax-rvv-u8v.c" ++ ] + +- if (build_with_chromium) { +- source_set("xx-pad_sse2-no-sse3") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-pad_sse2-no-sse3_standalone") { +- cflags = [ +- "-mno-sse3", +- "-msse2", +- ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("xx-pad_x64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rminmax_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rminmax/gen/f32-rmax-rvv-u8v.c", ++ "src/src/f32-rminmax/gen/f32-rmin-rvv-u8v.c", ++ "src/src/f32-rminmax/gen/f32-rminmax-rvv-u8v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-pad_x64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rminmax_riscv64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rminmax_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("xx-transposev_x64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_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") { +- if (build_with_chromium) { +- source_set("configs_arm64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rsum2_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("configs_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-scalar-u1.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("enums_arm64") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("enums_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rsum_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-avgpool_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-spmm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-spmm/gen/f32-spmm-4vx4-minmax-rvv.c", ++ "src/src/f32-spmm/gen/f32-spmm-8vx1-minmax-rvv.c", ++ "src/src/f32-spmm/gen/f32-spmm-8vx2-minmax-rvv.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-conv-hwc2chw_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-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-spmm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-spmm/gen/f32-spmm-4vx4-minmax-rvv.c", ++ "src/src/f32-spmm/gen/f32-spmm-8vx1-minmax-rvv.c", ++ "src/src/f32-spmm/gen/f32-spmm-8vx2-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-spmm_riscv64") { ++ 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 += [ ":xnnpack_private_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-spmm_riscv64_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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-dwconv_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-dwconv_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vapproxgelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32-vcvt_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vapproxgelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" ++ ] + +- 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32-vcvt_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vbinary_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vbinary/gen/f32-vadd-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vaddc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vdiv-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vdivc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmax-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmaxc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmin-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vminc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmul-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmulc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vrdivc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vrsubc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsqrdiff-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsqrdiffc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsub-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsubc-rvv-u8v.c" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32acc-rdsum2_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vbinary_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vbinary/gen/f32-vadd-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vaddc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vdiv-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vdivc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmax-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmaxc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmin-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vminc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmul-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vmulc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vrdivc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vrsubc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsqrdiff-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsqrdiffc-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsub-rvv-u8v.c", ++ "src/src/f32-vbinary/gen/f32-vsubc-rvv-u8v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-minmax-neonfp16arith.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rdsum2_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vbinary_riscv64") { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum2/gen/f16-f32acc-rdsum2-7p7x-minmax-neonfp16arith.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vbinary_riscv64_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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vclamp_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-f32acc-rsum2_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-f32acc-rsum2/gen/f16-f32acc-rsum2-neonfp16arith.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rsum2_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum2/gen/f16-f32acc-rsum2-neonfp16arith.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-vcmul_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcmul/gen/f32-vcmul-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcmul_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcmul/gen/f32-vcmul-rvv-u2v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-gemm_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-gemm_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vcmul_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcmul_riscv64_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" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("f32-vcopysign_riscv64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcopysign_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vcos_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-ibilinear_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-ibilinear/gen/f16-ibilinear-neonfp16arith-u8.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcos_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-ibilinear/gen/f16-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-velu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-igemm_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-velu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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 += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("f32-vexp_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-maxpool_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vexp_riscv64_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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vgelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vgelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vhswish_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-rvv-u4v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-qs8-vcvt_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-rvv-u4v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qs8-vcvt_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vhswish_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-qu8-vcvt_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qu8-vcvt_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vlog_riscv64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlog_riscv64_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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vlrelu_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-rvv-u4v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-rdminmax_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-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-u32.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-u32.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-rvv-u4v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rdminmax_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-u32.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-u32.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-rdminmax_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vlrelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rdminmax_arm64_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-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-rminmax_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlrelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rminmax_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vmulcaddc_riscv64") { ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-rminmax_arm64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vmulcaddc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rminmax_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-spmm_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vrnd_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-rvv-u4v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-spmm_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vapproxgelu_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrnd_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-rvv-u4v.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-rvv-u4v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vrnd_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vapproxgelu_arm64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrnd_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vapproxgelu_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-rvv-rsqrt-u4v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vbinary_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vclamp_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrsqrt/gen/f32-vrsqrt-rvv-rsqrt-u4v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vclamp/gen/f16-vclamp-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vclamp_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_riscv64") { ++ 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-sqrt.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vclamp/gen/f16-vclamp-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_riscv64_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-sqrt.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vcos_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vsigmoid_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vcos_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsigmoid_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vcos_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vsin_riscv64") { ++ 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/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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsin_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsin/gen/f32-vsin-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-velu_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vexp_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vsqrt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vexp_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vexp_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vtanh_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vtanh_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vgelu_arm64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vunary_riscv64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vhswish_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vunary_riscv64_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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vhswish/gen/f16-vhswish-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vhswish_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("operators_riscv64") { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f16-vhswish/gen/f16-vhswish-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("operators_riscv64_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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qb4w-gemm_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qb4w-gemm_riscv64_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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vrnd_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vrnd_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4v-minmax-rvv.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vrsqrt_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-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4v-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vsigmoid_arch=armv8.2-a+fp16") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc4w-gemm_riscv64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsigmoid_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vsin_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc4w-gemm_riscv64_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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4v-minmax-rvv.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vsin_arm64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4v-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsin_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vsqrt_arch=armv8.2-a+fp16") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_riscv64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsqrt_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vtanh_arch=armv8.2-a+fp16") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-gemm_riscv64_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-4x4-minmax-scalar.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4v-minmax-rvv.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vunary_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-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", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4v-minmax-rvv.c", ++ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4v-minmax-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vunary_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-argmaxpool_arm64") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-igemm_riscv64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-argmaxpool_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-avgpool_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-igemm_riscv64_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-4x4-minmax-scalar.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-dwconv_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8vc-minmax-fp32-rvv.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-conv-hwc2chw_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-dwconv_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8vc-minmax-fp32-rvv.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-conv-hwc2chw_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-dwconv_riscv64") { ++ 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-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-lrintf.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-dwconv_riscv64_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-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-lrintf.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qs8-f32-vcvt_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-rvv-u2v.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-f32-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_arm64_standalone") { +- cflags = [] ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-f32-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-vcvt_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-packw_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-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_public_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-2.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-2.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", +- "src/src/f32-gemm/gen/f32-gemm-7x8-minmax-asm-aarch64-neonfma-ld128-2.S", +- "src/src/f32-gemm/gen/f32-gemm-8x8-minmax-asm-aarch64-neonfma-ld128-2.S", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_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-2.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-2.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", +- "src/src/f32-gemm/gen/f32-gemm-7x8-minmax-asm-aarch64-neonfma-ld128-2.S", +- "src/src/f32-gemm/gen/f32-gemm-8x8-minmax-asm-aarch64-neonfma-ld128-2.S", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-gemm_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", +- "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-4x16-minmax-aarch64-neonfma-lane-ld128.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_arm64_standalone") { +- cflags = [] ++ 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-1x16-minmax-aarch64-neonfma-lane-ld128.c", +- "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-4x16-minmax-aarch64-neonfma-lane-ld128.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-ibilinear-chw_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear-chw_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8vc-minmax-fp32-rvv.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-ibilinear_arm64") { +- cflags = [] ++ 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-u8.c", +- "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-u8.c", +- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8vc-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8vc-minmax-fp32-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-neon-u8.c", +- "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-u8.c", +- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-dwconv_riscv64") { ++ 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-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-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-lrintf.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] +- +- asmflags = cflags ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-dwconv_riscv64_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-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-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-lrintf.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-igemm_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", +- "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-4x16-minmax-aarch64-neonfma-lane-ld128.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4v-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x4v-minmax-fp32-rvv.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-aarch64-neonfma-lane-ld128.c", +- "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-4x16-minmax-aarch64-neonfma-lane-ld128.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-maxpool_arm64") { +- cflags = [] ++ 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-neon-u4.c", +- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4v-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x4v-minmax-fp32-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-maxpool_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc4w-gemm_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] +- +- asmflags = cflags ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4v-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x4v-minmax-fp32-rvv.c" ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4v-minmax-fp32-rvv.c", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x4v-minmax-fp32-rvv.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_arm64_standalone") { +- cflags = [] ++ 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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-qu8-vcvt_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- 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-u4.c", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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-u4.c", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_arm64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qu8-packw_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qu8-packw_riscv64_standalone") { ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rdminmax_arm64") { +- cflags = [] ++ 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-neon-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdminmax_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-rdsum_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-rvv-u2v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-u32.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rdsum2_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-neon.c", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-scalar.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rdsum_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-neon.c", +- "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-u16.c", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("qs8-rdsum_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rdsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-u16.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rminmax_arm64") { +- cflags = [] ++ 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rminmax_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-rsum_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rsum/gen/qs8-rsum-rvv-u2v.c" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rsum2_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-neon.c", +- "src/src/f32-rsum2/gen/f32-rsum2-scalar-u1.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rsum/gen/qs8-rsum-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-neon.c", +- "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum_arm64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-rsum_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum_arm64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-spmm_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-spmm_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vapproxgelu_arm64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vadd_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vadd/gen/qs8-vadd-minmax-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vapproxgelu_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vadd_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vadd/gen/qs8-vadd-minmax-rvv-u2v.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vbinary_arm64") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vbinary_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vadd_riscv64") { ++ 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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vclamp_arm64") { +- 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.c", +- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vadd_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vclamp_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-neon.c", +- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcmul_arm64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vaddc_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcmul_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vaddc_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-rvv-u2v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vcopysign_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcopysign_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vaddc_riscv64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vcos_arm64") { +- 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-neon-rational-5-4-div.c", +- "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vaddc_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcos_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-velu_arm64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vexp_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vexp_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vlrelu_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-rvv-u2v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vgelu_arm64") { +- cflags = [] ++ 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-neon-rational-12-10-div.c", +- "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vgelu_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-neon.c", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vlrelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_arm64_standalone") { +- 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.c", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlog_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vlrelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlog_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vmul_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmul/gen/qs8-vmul-minmax-f32-rvv-u2v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vlrelu_arm64") { +- cflags = [] ++ 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-neon-u8.c", +- "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmul_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmul/gen/qs8-vmul-minmax-f32-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlrelu_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vmulcaddc_arm64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vmul_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vmulcaddc_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmul_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vrnd_arm64") { +- cflags = [] ++ 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-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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrnd_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vmulc_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-f32-rvv-u2v.c" ++ ] + +- 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-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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vrsqrt_arm64") { +- cflags = [] ++ 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.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmulc_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-f32-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-neon-rsqrt.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsigmoid_arm64") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vmulc_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsigmoid_arm64_standalone") { +- cflags = [] ++ 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsin_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmulc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsin_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vprelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vsqrt_arm64") { +- 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.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vprelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsqrt_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", +- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vtanh_arm64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vpreluc_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vtanh_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vunary_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vpreluc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vunary_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vrpreluc_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("operators_arm64_standalone") { +- cflags = [] ++ 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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vrpreluc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf16-f16-f16-igemm/pf16-f16-f16-igemm-32x32c2-minmax-neonsme2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("pf16-f16-f16-igemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++if (build_with_chromium) { ++ source_set("qu8-dwconv_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8vc-minmax-fp32-rvv.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf16-f16-f16-igemm/pf16-f16-f16-igemm-32x32c2-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("pf16-gemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf16-gemm/pf16-gemm-1x32c2-minmax-neonsme2.c", +- "src/src/pf16-gemm/pf16-gemm-32x32c2-minmax-neonsme2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-dwconv_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8vc-minmax-fp32-rvv.c", ++ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8vc-minmax-fp32-rvv.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("pf16-gemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf16-gemm/pf16-gemm-1x32c2-minmax-neonsme2.c", +- "src/src/pf16-gemm/pf16-gemm-32x32c2-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("pf32-gemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme.c", +- "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", +- "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme.c", +- "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-dwconv_riscv64") { ++ 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-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-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("pf32-gemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme.c", +- "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", +- "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme.c", +- "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-dwconv_riscv64_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-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-lrintf.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pqs8-f32-qc8w-igemm/pqs8-f32-qc8w-igemm-32x32c4-minmax-neonsme2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("pqs8-f32-qc8w-igemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++if (build_with_chromium) { ++ source_set("qu8-f32-vcvt_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-rvv-u2v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pqs8-f32-qc8w-igemm/pqs8-f32-qc8w-igemm-32x32c4-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", +- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", +- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qb4-packw_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qb4-packw/gen/qb4-packw-x16c4-gemm-goi-aarch64-neondot.c", +- "src/src/qb4-packw/gen/qb4-packw-x16c8-gemm-goi-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-f32-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qb4-packw_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/qb4-packw/gen/qb4-packw-x16c4-gemm-goi-aarch64-neondot.c", +- "src/src/qb4-packw/gen/qb4-packw-x16c8-gemm-goi-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-f32-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++if (build_with_chromium) { ++ source_set("qu8-gemm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f16-qb4w-gemm_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-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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-gemm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-gemm/gen/qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-igemm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-igemm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++if (build_with_chromium) { ++ source_set("qu8-rdsum_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-rvv-u2v.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f16-qc4w-gemm_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-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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rdsum_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-rdsum_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rdsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-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: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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++if (build_with_chromium) { ++ source_set("qu8-rsum_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-rvv-u2v.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-gemm_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-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", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rsum_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-rvv-u2v.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-rsum_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rsum_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vadd_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vadd/gen/qu8-vadd-minmax-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vadd_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vadd/gen/qu8-vadd-minmax-rvv-u2v.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-igemm_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:pthreadpool_standalone", ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] ++if (build_with_chromium) { ++ source_set("qu8-vadd_riscv64") { ++ 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" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vadd_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-vaddc_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-rvv-u2v.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vaddc_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vaddc_riscv64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f16-qc8w-igemm_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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vaddc_riscv64_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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-vcvt_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qb4w-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/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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vcvt_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vcvt/gen/qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vlrelu_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qb4w-gemm_arm64_standalone") { +- cflags = [] ++ 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-rvv-u2v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-gemm-1x16c4-minmax-neondot.c", +- "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc2w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-vlrelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-gemm-1x16c4-minmax-neondot.c", +- "src/src/qd8-f32-qc2w-gemm/qd8-f32-qc2w-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vlrelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vmul_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-f32-rvv-u2v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-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. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmul_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-f32-rvv-u2v.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc4w-gemm_arm64") { +- 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-vmul_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmul_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-vmulc_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-f32-rvv-u2v.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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", ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmulc_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-f32-rvv-u2v.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vmulc_riscv64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmulc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_arm64") { +- 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-gemm/gen/qd8-f32-qc8w-gemm-1x16-minmax-neon-mlal-lane-prfm.c", +- "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-2x8c2s4-minmax-neon-mlal.c", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16-minmax-neon-mlal-lane-prfm.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-vprelu_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16-minmax-neon-mlal-lane-prfm.c", +- "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-2x8c2s4-minmax-neon-mlal.c", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16-minmax-neon-mlal-lane-prfm.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vprelu_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("qu8-vpreluc_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-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" ] ++ configs += [ ":xnnpack_private_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", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vpreluc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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/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", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vrpreluc_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vrpreluc_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_arm64") { +- 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-1x16-minmax-neon-mlal-lane-prfm.c", +- "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-2x8c2s4-minmax-neon-mlal.c", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16-minmax-neon-mlal-lane-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("reference_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/reference/binary-elementwise.cc", ++ "src/src/reference/packing.cc", ++ "src/src/reference/unary-elementwise.cc" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16-minmax-neon-mlal-lane-prfm.c", +- "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-2x8c2s4-minmax-neon-mlal.c", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16-minmax-neon-mlal-lane-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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-1x4c8s2-aarch64-neondot.c", +- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-4x4c8s2-aarch64-neondot.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("reference_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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-1x4c8s2-aarch64-neondot.c", +- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-4x4c8s2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("s8-ibilinear_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-u1.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-ibilinear_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-u1.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("s8-maxpool_riscv64") { ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-maxpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x64c4-neonsme2.c", +- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x64c4-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("s8-rdminmax_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ 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-16x64c4-neonsme2.c", +- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x64c4-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rdminmax_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("s8-rminmax_riscv64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qp8-f32-qc8w-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-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rminmax_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x64c4-neonsme2.c", +- "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x64c4-neonsme2.c", +- ] ++if (build_with_chromium) { ++ source_set("s8-vclamp_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-vclamp/gen/s8-vclamp-rvv-u4v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-vclamp_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-vclamp/gen/s8-vclamp-rvv-u4v.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x64c4-neonsme2.c", +- "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-1x64c4-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-dwconv_arm64") { +- cflags = [] ++ 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-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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-dwconv_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("s8-vclamp_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" ++ ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-f16-vcvt_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/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-vclamp_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+fp16" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-f32-vcvt_arm64") { +- 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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("subgraph_riscv64") { ++ 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/subgraph-utils.c", ++ "src/src/subgraph/unary.c", ++ "src/src/subgraph/unpooling-2d.c", ++ "src/src/subgraph/validation.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-f32-vcvt_arm64_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-neon-u32.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-packw_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("subgraph_riscv64_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/subgraph-utils.c", ++ "src/src/subgraph/unary.c", ++ "src/src/subgraph/unpooling-2d.c", ++ "src/src/subgraph/validation.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-packw_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("tables_riscv64") { ++ 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" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_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", +- ] ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("tables_riscv64_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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] ++if (build_with_chromium) { ++ source_set("u8-ibilinear_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-ibilinear_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-u1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-dwconv_arm64") { +- cflags = [] ++ 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-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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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-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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("u8-lut32norm_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-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" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-lut32norm_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- if (build_with_chromium) { +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("u8-maxpool_riscv64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ 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-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-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-maxpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { +- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] +- +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("u8-rdminmax_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- 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" ] ++ configs += [ ":xnnpack_private_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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rdminmax_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] + +- 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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("u8-rminmax_riscv64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-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_public_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-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rminmax_riscv64_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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_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-prfm.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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("u8-vclamp_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/gen/u8-vclamp-rvv-u4v.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-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. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/gen/u8-vclamp-rvv-u4v.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("u8-vclamp_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" ++ ] + +- 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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qu8-packw_arm64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qu8-packw_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rdsum_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-u32.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x16-transposec_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rdsum_arm64_standalone") { +- 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-u32.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rsum_arch=armv8.2-a+dotprod") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-transposec_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+dotprod" ] ++if (build_with_chromium) { ++ source_set("x16-x32-packw_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-rsum_arm64") { +- 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-neon-u32-acc2.c", +- "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-x32-packw_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rsum_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x24-transposec_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vadd_arm64_standalone") { +- 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vaddc_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x24-transposec_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vaddc_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x32-packw_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-packw/gen/x32-packw-x4v-gemm-goi-rvv-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vcvt_arm64_standalone") { +- cflags = [] ++ 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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vlrelu_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-packw/gen/x32-packw-x4v-gemm-goi-rvv-u8.c" ++ ] + +- 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vlrelu_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x32-packw_riscv64") { ++ 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" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_riscv64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmul_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x32-transposec_arch=rv64gcv-abi=lp64d") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/gen/x32-transposec-16x8-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-32x8-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-4x4-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-8x8-rvv.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmulc_arm64_standalone") { +- cflags = [] ++ 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", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vprelu_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-transposec_arch=rv64gcv-abi=lp64d_standalone") { ++ cflags = [ ++ "-mabi=lp64d", ++ "-march=rv64gcv" ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/gen/x32-transposec-16x8-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-32x8-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-4x4-rvv.c", ++ "src/src/x32-transposec/gen/x32-transposec-8x8-rvv.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vprelu_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x32-transposec_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-vpreluc_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-transposec_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vpreluc_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vrpreluc_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c", +- ] ++if (build_with_chromium) { ++ source_set("x32-unpool_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vrpreluc_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-unpool_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-unpool/x32-unpool-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-dwconv_arm64") { +- cflags = [] ++ 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-dwconv_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x64-transposec_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" ++ ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-f32-vcvt_arm64") { +- cflags = [] ++ 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-neon-u32.c", +- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x64-transposec_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-f32-vcvt_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("x8-lut_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" ++ ] + +- asmflags = cflags ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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", ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- asmflags = cflags ++ public_configs = [ ":xnnpack_public_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x8-packq_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-gemm_arm64_standalone") { +- cflags = [] ++ 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-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-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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] +- +- asmflags = cflags ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-packq_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { +- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] ++if (build_with_chromium) { ++ source_set("x8-packw_riscv64") { ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- asmflags = cflags ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-igemm_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-packw_riscv64_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/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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-igemm_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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-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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x8-transposec_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rdsum_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-rsum_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-transposec_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rsum_arm64_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("xx-copy_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.c" ++ ] + +- if (build_with_chromium) { +- 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" ] ++ configs += [ ":xnnpack_private_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vadd_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-copy_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vaddc_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vaddc_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("xx-fill_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-scalar-u16.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vcvt_arm64") { +- 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-neon-u32.c", +- "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-fill_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vcvt_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vlrelu_arm64") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("xx-pad_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vlrelu_arm64_standalone") { +- 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-neon-u32.c", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vmul_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-pad_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-pad/xx-pad-p4-scalar-u16.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmul_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("xx-transposev_riscv64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vmulc_arm64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-transposev_riscv64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmulc_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vprelu_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] ++} + +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (current_cpu == "ppc64") { ++if (build_with_chromium) { ++ source_set("configs_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vprelu_arm64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vpreluc_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("configs_ppc64_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/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vpreluc_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("enums_ppc64") { ++ 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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vrpreluc_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("enums_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vrpreluc_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("reference_arm64") { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-f32-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("reference_arm64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-ibilinear_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-f32-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u16.c", +- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u8.c", +- "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-ibilinear_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-qs8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ 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/s8-ibilinear/gen/s8-ibilinear-neon-u16.c", +- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-u8.c", +- "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("s8-maxpool_arm64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qs8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("s8-maxpool_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("s8-rdminmax_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-qu8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-rdminmax_arm64_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-neon-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-u32.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-rminmax_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-qu8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("s8-rminmax_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("s8-vclamp_arm64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-rdminmax_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-vclamp_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("subgraph_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rdminmax_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", ++ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("subgraph_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-rminmax_ppc64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("tables_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-ibilinear_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-rminmax_ppc64_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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u16.c", +- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u8.c", +- "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-ibilinear_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-vapproxgelu_ppc64") { ++ 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/u8-ibilinear/gen/u8-ibilinear-neon-u16.c", +- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-u8.c", +- "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-lut32norm_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vapproxgelu_ppc64_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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-lut32norm_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-vcos_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] ++ ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-maxpool_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vcos_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-maxpool_arm64_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f16-vexp_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" ++ ] + +- if (build_with_chromium) { +- source_set("u8-rdminmax_arm64") { +- cflags = [] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rdminmax_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vexp_ppc64_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/u8-rdminmax/gen/u8-rdmax-2p2x-neon-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-u32.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("u8-rminmax_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rminmax_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f16-vgelu_ppc64") { ++ 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/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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vgelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x16-pack-lh/x16-packlh-igemm-neonsme.c", +- "src/src/x16-pack-lh/x16-packlh-igemm-neonsme2.c", +- "src/src/x16-pack-lh/x16-packlh-neonsme.c", +- "src/src/x16-pack-lh/x16-packlh-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f16-vsin_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x16-pack-lh/x16-packlh-igemm-neonsme.c", +- "src/src/x16-pack-lh/x16-packlh-igemm-neonsme2.c", +- "src/src/x16-pack-lh/x16-packlh-neonsme.c", +- "src/src/x16-pack-lh/x16-packlh-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x16-packw_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f16-vsin_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-packw_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-argmaxpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x16-transposec_arm64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-argmaxpool_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x16-transposec_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x16-x32-packw_arm64") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-avgpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-x32-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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x24-transposec_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-avgpool_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x24-transposec_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-conv-hwc2chw_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-pack-lh/x32-packlh-neonsme.c", +- "src/src/x32-pack-lh/x32-packlh-neonsme2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-conv-hwc2chw_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-pack-lh/x32-packlh-neonsme.c", +- "src/src/x32-pack-lh/x32-packlh-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x32-packw_arm64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-packw/gen/x32-packw-gio-neon-u2.c", +- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-neon-ld4lane-u4-prfm.c", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-dwconv2d-chw_ppc64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_arm64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-packw/gen/x32-packw-gio-neon-u2.c", +- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-neon-ld4lane-u4-prfm.c", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x32-transposec_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv2d-chw_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-transposec_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-dwconv_ppc64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x32-unpool_arm64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-unpool/x32-unpool-neon.c", +- "src/src/x32-unpool/x32-unpool-scalar.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-dwconv_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x32-unpool_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x64-transposec_arm64") { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-f16-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x64-transposec_arm64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-lut_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-f16-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-lut_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-gemm_ppc64") { ++ 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-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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-pack-lh_arch=armv8.2-a+sve+sve2") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x8-pack-lh/x8-packlh-igemm-neonsme2.c", +- "src/src/x8-pack-lh/x8-packlh-neonsme2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-gemm_ppc64_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-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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x8-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { +- cflags = [ "-march=armv8.2-a+sve+sve2" ] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x8-pack-lh/x8-packlh-igemm-neonsme2.c", +- "src/src/x8-pack-lh/x8-packlh-neonsme2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x8-packq_arm64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("f32-ibilinear-chw_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packq_arm64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear-chw_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-packw_arm64") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packw_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-ibilinear_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-transposec_arm64") { +- 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-16x16-reuse-dec-zip-neon.c", +- "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-ibilinear_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-ibilinear/gen/f32-ibilinear-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x8-transposec_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("xx-copy_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-igemm_ppc64") { ++ 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-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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-copy_arm64_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("xx-fill_arm64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-igemm_ppc64_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-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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-fill_arm64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-maxpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("xx-pad_arm64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-maxpool_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("xx-pad_arm64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("xx-transposev_arm64") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc4w-gemm_ppc64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-transposev_arm64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } + } + +-if (current_cpu == "riscv64") { +- if (build_with_chromium) { +- source_set("configs_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc4w-gemm_ppc64_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-4x4-minmax-scalar.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("configs_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("enums_riscv64") { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qc8w-gemm_ppc64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("enums_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-f32-vcvt_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qc8w-gemm_ppc64_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-4x4-minmax-scalar.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-f32-vcvt_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-qs8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-qs8-vcvt_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qs8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qs8-vcvt_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-qu8-vcvt_riscv64") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-qu8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-qu8-vcvt_riscv64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-rdminmax_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-qu8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rdminmax_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-raddstoreexpminusmax_ppc64") { ++ 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/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-u2.c", +- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-rminmax_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-raddstoreexpminusmax_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-rminmax_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vapproxgelu_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-rdminmax_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vapproxgelu_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vcos_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdminmax_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", ++ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vcos_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rdsum2_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-scalar.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f16-vexp_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum2_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vexp_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f16-vgelu_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-rdsum_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vgelu_riscv64_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f16-vsin_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rdsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f16-vsin_riscv64_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-rminmax_ppc64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-argmaxpool_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-rvv-u1v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-argmaxpool_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-rvv-u1v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-argmaxpool_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rminmax_ppc64_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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-argmaxpool_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-rsum2_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-scalar-u1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-avgpool_riscv64") { +- 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-scalar-u1.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum2_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum2/gen/f32-rsum2-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-avgpool_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x2v-rvv-2x2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-rsum_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-conv-hwc2chw_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x2v-rvv-2x2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-conv-hwc2chw_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-rsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-conv-hwc2chw_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-spmm_ppc64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-rvv-7x1v.c", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-rvv-2x2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-rvv-7x1v.c", +- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-rvv-2x2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv2d-chw_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-spmm_ppc64_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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv2d-chw_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vapproxgelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-25p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-3p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-4p8vc-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-minmax-rvv.c", +- "src/src/f32-dwconv/gen/f32-dwconv-9p8vc-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-dwconv_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vapproxgelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" ++ ] + +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-dwconv_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-f16-vcvt_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-vbinary_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-f16-vcvt_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vbinary_ppc64_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" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-gemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-gemm/gen/f32-gemm-1x4v-minmax-rvv.c", +- "src/src/f32-gemm/gen/f32-gemm-7x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-gemm/gen/f32-gemm-1x4v-minmax-rvv.c", +- "src/src/f32-gemm/gen/f32-gemm-7x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-gemm_riscv64") { +- 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vclamp_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-gemm_riscv64_standalone") { +- cflags = [] ++ 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-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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-ibilinear-chw_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vclamp_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear-chw_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vcmul_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-ibilinear_riscv64") { +- cflags = [] ++ 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-scalar-u2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcmul_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-ibilinear_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-igemm/gen/f32-igemm-1x4v-minmax-rvv.c", +- "src/src/f32-igemm/gen/f32-igemm-7x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vcopysign_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-igemm/gen/f32-igemm-1x4v-minmax-rvv.c", +- "src/src/f32-igemm/gen/f32-igemm-7x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-igemm_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcopysign_ppc64_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" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-igemm_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-maxpool_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vcos_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-maxpool_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-maxpool_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vcos_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-maxpool_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-velu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-qc4w-gemm_riscv64") { +- cflags = [] ++ 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-4x4-minmax-scalar.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-velu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc4w-gemm_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-qc8w-gemm_riscv64") { +- 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-4x4-minmax-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-vexp_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qc8w-gemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vexp_ppc64_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-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", +- "src/src/f32-qc8w-gemm/gen/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-qs8-vcvt_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 (build_with_chromium) { ++ source_set("f32-vgelu_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qs8-vcvt_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vgelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-qu8-vcvt_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-qu8-vcvt_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 (build_with_chromium) { ++ source_set("f32-vhswish_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-qu8-vcvt_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vhswish_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-rvv-rr2-p6-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-rvv-rr2-p6-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-raddstoreexpminusmax_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vlog_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-raddstoreexpminusmax_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdminmax_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlog_ppc64_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-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdminmax_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vlrelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-u2.c", +- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rdsum2_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-7p7x-minmax-scalar.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vlrelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum2_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum2/gen/f32-rdsum2-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vmulcaddc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rdsum_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vmulcaddc_ppc64_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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rdsum_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vrnd_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-rminmax_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rminmax/gen/f32-rmax-rvv-u8v.c", +- "src/src/f32-rminmax/gen/f32-rmin-rvv-u8v.c", +- "src/src/f32-rminmax/gen/f32-rminmax-rvv-u8v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rminmax_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rminmax/gen/f32-rmax-rvv-u8v.c", +- "src/src/f32-rminmax/gen/f32-rmin-rvv-u8v.c", +- "src/src/f32-rminmax/gen/f32-rminmax-rvv-u8v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-rminmax_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrnd_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", ++ "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rminmax_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("f32-vrsqrt_ppc64") { ++ 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-sqrt.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-rsum2_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-scalar-u1.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vrsqrt_ppc64_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-sqrt.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum2_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum2/gen/f32-rsum2-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-rsum_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-vsigmoid_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-rsum_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsigmoid_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-spmm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-spmm/gen/f32-spmm-4vx4-minmax-rvv.c", +- "src/src/f32-spmm/gen/f32-spmm-8vx1-minmax-rvv.c", +- "src/src/f32-spmm/gen/f32-spmm-8vx2-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-spmm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-spmm/gen/f32-spmm-4vx4-minmax-rvv.c", +- "src/src/f32-spmm/gen/f32-spmm-8vx1-minmax-rvv.c", +- "src/src/f32-spmm/gen/f32-spmm-8vx2-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-spmm_riscv64") { +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vsin_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-spmm_riscv64_standalone") { +- cflags = [] ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vapproxgelu_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsin_ppc64_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-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vapproxgelu_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("f32-vsqrt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] + +- if (build_with_chromium) { +- source_set("f32-vbinary_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vbinary/gen/f32-vadd-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vaddc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vdiv-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vdivc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmax-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmaxc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmin-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vminc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmul-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmulc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vrdivc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vrsubc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsqrdiff-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsqrdiffc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsub-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsubc-rvv-u8v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vbinary_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vbinary/gen/f32-vadd-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vaddc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vdiv-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vdivc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmax-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmaxc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmin-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vminc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmul-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vmulc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vrdivc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vrsubc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsqrdiff-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsqrdiffc-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsub-rvv-u8v.c", +- "src/src/f32-vbinary/gen/f32-vsubc-rvv-u8v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vbinary_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vsqrt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vbinary_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vclamp_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("f32-vtanh_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vclamp_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vtanh_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vcmul_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vcmul/gen/f32-vcmul-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcmul_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vcmul/gen/f32-vcmul-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcmul_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("f32-vunary_ppc64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcmul_riscv64_standalone") { +- cflags = [] ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vcopysign_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("f32-vunary_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcopysign_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("operators_ppc64") { ++ 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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vcos_riscv64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("operators_ppc64_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/fingerprint_cache.c", ++ "src/src/operators/fingerprint_id.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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vcos_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-velu_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qb4w-gemm_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-velu_riscv64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vexp_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qb4w-gemm_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vexp_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc4w-gemm_ppc64") { ++ 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" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vgelu_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc4w-gemm_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vgelu_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-gemm_ppc64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vhswish_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-gemm_ppc64_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-4x4-minmax-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vhswish_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qd8-f32-qc8w-igemm_ppc64") { ++ 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-4x4-minmax-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vlog_riscv64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qd8-f32-qc8w-igemm_ppc64_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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlog_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlrelu_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vlrelu/gen/f32-vlrelu-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-dwconv_ppc64") { ++ 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-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-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vlrelu/gen/f32-vlrelu-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vlrelu_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-dwconv_ppc64_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-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-lrintf.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vlrelu_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-f32-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vmulcaddc_riscv64") { +- cflags = [] ++ 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-c1-minmax-scalar-2x.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-f32-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vmulcaddc_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vrnd_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndne-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndu-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndz-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-packw_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrnd_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndne-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndu-rvv-u4v.c", +- "src/src/f32-vrnd/gen/f32-vrndz-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vrnd_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-packw_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", ++ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrnd_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndne-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndu-scalar-libm-u1.c", +- "src/src/f32-vrnd/gen/f32-vrndz-scalar-libm-u1.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vrsqrt_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-rvv-rsqrt-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qc4w-gemm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-rvv-rsqrt-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vrsqrt_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc4w-gemm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", ++ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vrsqrt_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-dwconv_ppc64") { ++ 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-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-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-lrintf.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", +- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vsigmoid_riscv64") { +- cflags = [] ++ 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-scalar-rr2-lut64-p2-div-u2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-dwconv_ppc64_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-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-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-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsigmoid_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsin_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-gemm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsin_riscv64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("f32-vsqrt_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-gemm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vsqrt_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-qc8w-igemm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("f32-vtanh_riscv64") { +- cflags = [] ++ 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-scalar-rational-9-8-div.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qc8w-igemm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vtanh_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("f32-vunary_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-qu8-packw_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("f32-vunary_riscv64_standalone") { +- cflags = [] ++ 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-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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("operators_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-qu8-packw_ppc64_standalone") { ++ 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/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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("operators_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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/fingerprint_cache.c", +- "src/src/operators/fingerprint_id.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qb4w-gemm_riscv64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-rdsum_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qb4w-gemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rdsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc4w-gemm_riscv64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("qs8-rsum_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc4w-gemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-rsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-gemm_riscv64") { +- 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-4x4-minmax-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vadd_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-gemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vadd_ppc64_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" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4v-minmax-rvv.c", +- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4v-minmax-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qd8-f32-qc8w-igemm_riscv64") { +- 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-4x4-minmax-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vaddc_ppc64") { ++ 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" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qd8-f32-qc8w-igemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vaddc_ppc64_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" ++ ] + +- 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-dwconv_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-dwconv/gen/qs8-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-dwconv/gen/qs8-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-dwconv_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-dwconv/gen/qs8-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-dwconv/gen/qs8-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-dwconv_riscv64") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "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" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-dwconv_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" ++ ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-f32-vcvt_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-f32-vcvt_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vlrelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-f32-vcvt_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vlrelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-packw_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool:pthreadpool_standalone", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++ public_configs = [ ":xnnpack_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-packw_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vmul_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-gio-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x4c8-gemm-goi-scalar.c", +- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-gio-scalar.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qc4w-gemm_riscv64") { +- 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-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmul_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc4w-gemm_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x4-minmax-fp32-scalar-fmagic.c", +- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-3x4-minmax-fp32-scalar-fmagic.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vmulc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-dwconv_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8vc-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-dwconv_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vmulc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.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-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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-dwconv_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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-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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4v-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x4v-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qs8-vprelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4v-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x4v-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-gemm_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vprelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-gemm_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qs8-vpreluc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4v-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x4v-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4v-minmax-fp32-rvv.c", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x4v-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-qc8w-igemm_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vpreluc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qc8w-igemm_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qs8-vrpreluc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-qu8-packw_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qs8-vrpreluc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-qu8-packw_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rdsum_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-dwconv_ppc64") { ++ 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-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-lrintf.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rdsum_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rdsum_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-dwconv_ppc64_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-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-lrintf.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rdsum_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-f32-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-rsum_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rsum/gen/qs8-rsum-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rsum_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-rsum/gen/qs8-rsum-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-rsum_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-f32-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-rsum_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-gemm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vadd_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vadd/gen/qs8-vadd-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vadd_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vadd/gen/qs8-vadd-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vadd_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-gemm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vadd_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-igemm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vaddc_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vaddc_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vaddc_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-igemm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", ++ "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vaddc_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-rdsum_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rdsum/gen/qu8-rdsum-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-vcvt_riscv64") { +- cflags = [] ++ 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-scalar-u4.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rdsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rdsum/gen/qu8-rdsum-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vcvt_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vlrelu_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-rsum_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vlrelu_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-rsum_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vlrelu_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vadd_ppc64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vmul_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vmul/gen/qs8-vmul-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmul_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vmul/gen/qs8-vmul-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vmul_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vadd_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmul_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vaddc_ppc64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("qs8-vmulc_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmulc_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vmulc_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vaddc_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vmulc_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-vcvt_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qs8-vprelu_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vcvt_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vcvt/gen/qu8-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vprelu_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vprelu/gen/qs8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vpreluc_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vlrelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vpreluc_riscv64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vpreluc/gen/qs8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qs8-vrpreluc_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vlrelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qs8-vrpreluc_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("qu8-vmul_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-dwconv_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-dwconv_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8vc-minmax-fp32-rvv.c", +- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8vc-minmax-fp32-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-dwconv_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmul_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" ++ ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-dwconv_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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-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-lrintf.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-f32-vcvt_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vmulc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-f32-vcvt_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-f32-vcvt_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vmulc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-f32-vcvt_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("qu8-vprelu_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-gemm_riscv64") { +- cflags = [] ++ 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-1x4-minmax-fp32-scalar-lrintf.c", +- "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vprelu_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-gemm_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-igemm_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", +- "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vpreluc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-igemm_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vpreluc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-rdsum_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rdsum_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-rdsum_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c", +- ] ++if (build_with_chromium) { ++ source_set("qu8-vrpreluc_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rdsum_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("qu8-vrpreluc_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-rsum_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rsum/gen/qu8-rsum-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rsum_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rsum/gen/qu8-rsum-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-rsum_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c", +- ] ++if (build_with_chromium) { ++ source_set("reference_ppc64") { ++ 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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-rsum_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("reference_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/reference/binary-elementwise.cc", ++ "src/src/reference/packing.cc", ++ "src/src/reference/unary-elementwise.cc" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vadd_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vadd/gen/qu8-vadd-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vadd_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vadd/gen/qu8-vadd-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vadd_riscv64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("s8-ibilinear_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vadd_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-ibilinear_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-u1.c" ++ ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vaddc_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vaddc_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vaddc_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("s8-maxpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vaddc_riscv64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vcvt_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-maxpool_ppc64_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/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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vcvt_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-rdminmax_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vlrelu_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vlrelu_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vlrelu_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rdminmax_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", ++ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vlrelu_riscv64_standalone") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-rminmax_ppc64") { ++ 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" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vmul_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vmul/gen/qu8-vmul-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmul_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vmul/gen/qu8-vmul-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vmul_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-rminmax_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmul_riscv64_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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("s8-vclamp_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" ++ ] + +- if (build_with_chromium) { +- source_set("qu8-vmulc_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmulc_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-f32-rvv-u2v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vmulc_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("s8-vclamp_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vmulc_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("subgraph_ppc64") { ++ 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/subgraph-utils.c", ++ "src/src/subgraph/unary.c", ++ "src/src/subgraph/unpooling-2d.c", ++ "src/src/subgraph/validation.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("qu8-vprelu_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("subgraph_ppc64_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/subgraph-utils.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vprelu_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vprelu/gen/qu8-vprelu-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vpreluc_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("tables_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vpreluc_riscv64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vpreluc/gen/qu8-vpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("qu8-vrpreluc_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("tables_ppc64_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" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("qu8-vrpreluc_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("u8-ibilinear_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-u1.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("reference_riscv64") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-ibilinear_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-ibilinear/gen/u8-ibilinear-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("reference_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("s8-ibilinear_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-ibilinear/gen/s8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("u8-lut32norm_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-ibilinear_riscv64_standalone") { +- 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-u1.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("s8-maxpool_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-lut32norm_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-maxpool_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("u8-maxpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("s8-rdminmax_riscv64") { +- 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-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-maxpool_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("s8-rdminmax_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-u2.c", +- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("s8-rminmax_riscv64") { +- 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", +- ] ++if (build_with_chromium) { ++ source_set("u8-rdminmax_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c" ++ ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- 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_public_config" ] +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-rminmax_riscv64_standalone") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rdminmax_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", ++ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("s8-vclamp_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-vclamp/gen/s8-vclamp-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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_public_config" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-vclamp_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/s8-vclamp/gen/s8-vclamp-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("s8-vclamp_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("u8-rminmax_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("s8-vclamp_riscv64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("subgraph_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-rminmax_ppc64_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" ++ ] + +- 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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("subgraph_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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/subgraph-utils.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("tables_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("u8-vclamp_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("tables_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-ibilinear_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("u8-vclamp_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-ibilinear_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x16-transposec_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-ibilinear/gen/u8-ibilinear-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("u8-lut32norm_riscv64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-transposec_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("u8-lut32norm_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("u8-maxpool_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x16-x32-packw_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-maxpool_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-rdminmax_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x16-x32-packw_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rdminmax_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x24-transposec_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c" ++ ] + +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-u2.c", +- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-u2.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("u8-rminmax_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x24-transposec_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("u8-rminmax_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("u8-vclamp_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-vclamp/gen/u8-vclamp-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x32-packw_ppc64") { ++ 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" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/u8-vclamp/gen/u8-vclamp-rvv-u4v.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("u8-vclamp_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-packw_ppc64_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" ++ ] + +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("u8-vclamp_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x32-transposec_ppc64") { ++ 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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x16-transposec_riscv64") { +- cflags = [] ++ 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", +- ] ++ public_configs = [ ":xnnpack_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-transposec_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x16-transposec_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x16-x32-packw_riscv64") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x32-unpool_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-unpool/x32-unpool-scalar.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x16-x32-packw_riscv64_standalone") { +- 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x24-transposec_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x32-unpool_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x32-unpool/x32-unpool-scalar.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x24-transposec_riscv64_standalone") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } +- } ++if (build_with_chromium) { ++ source_set("x64-transposec_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" ++ ] + +- if (build_with_chromium) { +- source_set("x32-packw_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-packw/gen/x32-packw-x4v-gemm-goi-rvv-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-packw/gen/x32-packw-x4v-gemm-goi-rvv-u8.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x32-packw_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x64-transposec_ppc64_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/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" ] +- configs += [ ":xnnpack_private_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x32-packw_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x32-transposec_arch=rv64gcv-abi=lp64d") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-transposec/gen/x32-transposec-16x8-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-32x8-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-4x4-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-8x8-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x8-lut_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-transposec_arch=rv64gcv-abi=lp64d_standalone") { +- cflags = [ +- "-mabi=lp64d", +- "-march=rv64gcv", +- ] +- +- sources = [ +- "src/include/xnnpack.h", +- "src/src/x32-transposec/gen/x32-transposec-16x8-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-32x8-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-4x4-rvv.c", +- "src/src/x32-transposec/gen/x32-transposec-8x8-rvv.c", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] ++ ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x32-transposec_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-lut_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-lut/gen/x8-lut-scalar-u4.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x32-transposec_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x8-packq_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x32-unpool_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-packq_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ 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", +- ] ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x32-unpool_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- sources = [ +- "src/include/xnnpack.h", +- "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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x64-transposec_riscv64") { +- cflags = [] +- +- sources = [ +- "src/include/xnnpack.h", +- "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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("x8-packw_ppc64") { ++ 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_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x64-transposec_riscv64_standalone") { +- cflags = [] ++ 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", +- ] +- +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-lut_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-packw_ppc64_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/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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-lut_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("x8-transposec_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("x8-packq_riscv64") { +- cflags = [] ++ 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("x8-transposec_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packq_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("x8-packw_riscv64") { +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("xx-copy_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-packw_riscv64_standalone") { +- cflags = [] ++ deps = [ ++ "//third_party/cpuinfo", ++ "//third_party/fp16", ++ "//third_party/fxdiv", ++ "//third_party/pthreadpool", ++ ] + +- 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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("x8-transposec_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-copy_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-copy/xx-copy-scalar-memcpy.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 += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("x8-transposec_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("xx-fill_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-scalar-u16.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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("xx-copy_riscv64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-fill_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-fill/xx-fill-scalar-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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("xx-copy_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- if (build_with_chromium) { +- source_set("xx-fill_riscv64") { +- cflags = [] +- +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool", +- ] ++if (build_with_chromium) { ++ source_set("xx-pad_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" ++ ] + +- public_configs = [ ":xnnpack_public_config" ] +- } +- } ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ "//build/config/compiler:no_chromium_code" ] ++ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] ++ configs += [ ":xnnpack_private_config" ] + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-fill_riscv64_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-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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } +- } ++ public_configs = [ ":xnnpack_public_config" ] + } ++} + +- if (build_with_chromium) { +- source_set("xx-pad_riscv64") { +- cflags = [] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-pad_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-pad/xx-pad-p4-scalar-u16.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++ 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_public_config" ] + +- public_configs = [ ":xnnpack_public_config" ] ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } ++} + +- # This is a target that cannot depend on //base. +- if (build_with_internal_optimization_guide) { +- source_set("xx-pad_riscv64_standalone") { +- cflags = [] ++if (build_with_chromium) { ++ source_set("xx-transposev_ppc64") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.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" ] +- configs += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- 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" ] ++ configs += [ ":xnnpack_private_config" ] + +- if (build_with_chromium) { +- source_set("xx-transposev_riscv64") { +- 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_public_config" ] ++ } ++} + +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ "//build/config/compiler:no_chromium_code" ] +- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] +- configs += [ ":xnnpack_private_config" ] ++# This is a target that cannot depend on //base. ++if (build_with_internal_optimization_guide) { ++ source_set("xx-transposev_ppc64_standalone") { ++ cflags = [ ++ ++ ] ++ ++ sources = [ ++ "src/include/xnnpack.h", ++ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.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" ] ++ configs += [ ":xnnpack_private_config" ] + +- public_configs = [ ":xnnpack_public_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. +- if (build_with_internal_optimization_guide) { +- source_set("xx-transposev_riscv64_standalone") { +- cflags = [] ++ public_configs = [ ":xnnpack_public_config" ] + +- 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 += [ ":xnnpack_private_config" ] +- +- deps = [ +- "//third_party/cpuinfo", +- "//third_party/fp16", +- "//third_party/fxdiv", +- "//third_party/pthreadpool:pthreadpool_standalone", +- ] +- +- public_configs = [ ":xnnpack_public_config" ] +- +- if (!(is_android && use_order_profiling)) { +- assert_no_deps = [ "//base" ] +- } ++ if (!(is_android && use_order_profiling)) { ++ assert_no_deps = [ "//base" ] + } + } + } ++ ++} diff --git a/0002-third_party-libvpx-Remove-bad-ppc64-config.patch b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch new file mode 100644 index 0000000..a6dba00 --- /dev/null +++ b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch @@ -0,0 +1,1514 @@ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h ++++ /dev/null +@@ -1,186 +0,0 @@ +-/* +- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * +- * Use of this source code is governed by a BSD-style license +- * that can be found in the LICENSE file in the root of the source +- * tree. An additional intellectual property rights grant can be found +- * in the file PATENTS. All contributing project authors may +- * be found in the AUTHORS file in the root of the source tree. +- */ +- +-// This file is generated. Do not edit. +-#ifndef VP8_RTCD_H_ +-#define VP8_RTCD_H_ +- +-#ifdef RTCD_C +-#define RTCD_EXTERN +-#else +-#define RTCD_EXTERN extern +-#endif +- +-/* +- * VP8 +- */ +- +-struct blockd; +-struct macroblockd; +-struct loop_filter_info; +- +-/* Encoder forward decls */ +-struct block; +-struct macroblock; +-struct variance_vtable; +-union int_mv; +-struct yv12_buffer_config; +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-void vp8_bilinear_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c +- +-void vp8_bilinear_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c +- +-void vp8_bilinear_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c +- +-void vp8_bilinear_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c +- +-int vp8_block_error_c(short *coeff, short *dqcoeff); +-#define vp8_block_error vp8_block_error_c +- +-void vp8_copy32xn_c(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); +-#define vp8_copy32xn vp8_copy32xn_c +- +-void vp8_copy_mem16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem16x16 vp8_copy_mem16x16_c +- +-void vp8_copy_mem8x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem8x4 vp8_copy_mem8x4_c +- +-void vp8_copy_mem8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem8x8 vp8_copy_mem8x8_c +- +-void vp8_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +-#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c +- +-int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +-#define vp8_denoiser_filter vp8_denoiser_filter_c +- +-int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +-#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c +- +-void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *dest, int stride); +-#define vp8_dequant_idct_add vp8_dequant_idct_add_c +- +-void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); +-#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c +- +-void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); +-#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c +- +-void vp8_dequantize_b_c(struct blockd*, short *DQC); +-#define vp8_dequantize_b vp8_dequantize_b_c +- +-int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +-#define vp8_diamond_search_sad vp8_diamond_search_sad_c +- +-void vp8_fast_quantize_b_c(struct block *, struct blockd *); +-#define vp8_fast_quantize_b vp8_fast_quantize_b_c +- +-void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c +- +-void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c +- +-void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c +- +-void vp8_loop_filter_bh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_bh vp8_loop_filter_bh_c +- +-void vp8_loop_filter_bv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_bv vp8_loop_filter_bv_c +- +-void vp8_loop_filter_mbh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c +- +-void vp8_loop_filter_mbv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c +- +-void vp8_loop_filter_bhs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c +- +-void vp8_loop_filter_bvs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c +- +-void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c +- +-void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c +- +-int vp8_mbblock_error_c(struct macroblock *mb, int dc); +-#define vp8_mbblock_error vp8_mbblock_error_c +- +-int vp8_mbuverror_c(struct macroblock *mb); +-#define vp8_mbuverror vp8_mbuverror_c +- +-int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int error_per_bit, int search_range, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +-#define vp8_refining_search_sad vp8_refining_search_sad_c +- +-void vp8_regular_quantize_b_c(struct block *, struct blockd *); +-#define vp8_regular_quantize_b vp8_regular_quantize_b_c +- +-void vp8_short_fdct4x4_c(short *input, short *output, int pitch); +-#define vp8_short_fdct4x4 vp8_short_fdct4x4_c +- +-void vp8_short_fdct8x4_c(short *input, short *output, int pitch); +-#define vp8_short_fdct8x4 vp8_short_fdct8x4_c +- +-void vp8_short_idct4x4llm_c(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +-#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c +- +-void vp8_short_inv_walsh4x4_c(short *input, short *mb_dqcoeff); +-#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c +- +-void vp8_short_inv_walsh4x4_1_c(short *input, short *mb_dqcoeff); +-#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c +- +-void vp8_short_walsh4x4_c(short *input, short *output, int pitch); +-#define vp8_short_walsh4x4 vp8_short_walsh4x4_c +- +-void vp8_sixtap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c +- +-void vp8_sixtap_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c +- +-void vp8_sixtap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c +- +-void vp8_sixtap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c +- +-void vp8_rtcd(void); +- +-#include "vpx_config.h" +- +-#ifdef RTCD_C +-#include "vpx_ports/ppc.h" +-static void setup_rtcd_internal(void) +-{ +- int flags = ppc_simd_caps(); +- (void)flags; +-} +-#endif +- +-#ifdef __cplusplus +-} // extern "C" +-#endif +- +-#endif // VP8_RTCD_H_ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h ++++ /dev/null +@@ -1,119 +0,0 @@ +-/* +- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * +- * Use of this source code is governed by a BSD-style license +- * that can be found in the LICENSE file in the root of the source +- * tree. An additional intellectual property rights grant can be found +- * in the file PATENTS. All contributing project authors may +- * be found in the AUTHORS file in the root of the source tree. +- */ +- +-// This file is generated. Do not edit. +-#ifndef VP9_RTCD_H_ +-#define VP9_RTCD_H_ +- +-#ifdef RTCD_C +-#define RTCD_EXTERN +-#else +-#define RTCD_EXTERN extern +-#endif +- +-/* +- * VP9 +- */ +- +-#include "vpx/vpx_integer.h" +-#include "vp9/common/vp9_common.h" +-#include "vp9/common/vp9_enums.h" +-#include "vp9/common/vp9_filter.h" +-#if !CONFIG_REALTIME_ONLY && CONFIG_VP9_ENCODER +-#include "vp9/encoder/vp9_temporal_filter.h" +-#endif +- +-struct macroblockd; +- +-/* Encoder forward decls */ +-struct macroblock; +-struct macroblock_plane; +-struct vp9_sad_table; +-struct ScanOrder; +-struct search_site_config; +-struct mv; +-union int_mv; +-struct yv12_buffer_config; +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); +-#define vp9_block_error vp9_block_error_c +- +-int64_t vp9_block_error_fp_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size); +-#define vp9_block_error_fp vp9_block_error_fp_c +- +-int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude); +-#define vp9_denoiser_filter vp9_denoiser_filter_c +- +-int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, uint32_t start_mv_sad, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_sad_table *sad_fn_ptr, const struct mv *center_mv); +-#define vp9_diamond_search_sad vp9_diamond_search_sad_c +- +-void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +-#define vp9_fht16x16 vp9_fht16x16_c +- +-void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +-#define vp9_fht4x4 vp9_fht4x4_c +- +-void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +-#define vp9_fht8x8 vp9_fht8x8_c +- +-void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); +-#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c +- +-void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); +-#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c +- +-void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); +-#define vp9_fwht4x4 vp9_fwht4x4_c +- +-void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-void vp9_iht16x16_256_add_vsx(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-#define vp9_iht16x16_256_add vp9_iht16x16_256_add_vsx +- +-void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-void vp9_iht4x4_16_add_vsx(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-#define vp9_iht4x4_16_add vp9_iht4x4_16_add_vsx +- +-void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-void vp9_iht8x8_64_add_vsx(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +-#define vp9_iht8x8_64_add vp9_iht8x8_64_add_vsx +- +-void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-void vp9_quantize_fp_vsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-#define vp9_quantize_fp vp9_quantize_fp_vsx +- +-void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-void vp9_quantize_fp_32x32_vsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_vsx +- +-void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config *src, struct yv12_buffer_config *dst, INTERP_FILTER filter_type, int phase_scaler); +-#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_c +- +-void vp9_rtcd(void); +- +-#include "vpx_config.h" +- +-#ifdef RTCD_C +-#include "vpx_ports/ppc.h" +-static void setup_rtcd_internal(void) +-{ +- int flags = ppc_simd_caps(); +- (void)flags; +-} +-#endif +- +-#ifdef __cplusplus +-} // extern "C" +-#endif +- +-#endif // VP9_RTCD_H_ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm ++++ /dev/null +@@ -1,107 +0,0 @@ +-@ This file was created from a .asm file +-@ using the ads2gas.pl script. +-.syntax unified +-.equ VPX_ARCH_ARM , 0 +-.equ ARCH_ARM , 0 +-.equ VPX_ARCH_AARCH64 , 0 +-.equ ARCH_AARCH64 , 0 +-.equ VPX_ARCH_MIPS , 0 +-.equ ARCH_MIPS , 0 +-.equ VPX_ARCH_X86 , 0 +-.equ ARCH_X86 , 0 +-.equ VPX_ARCH_X86_64 , 0 +-.equ ARCH_X86_64 , 0 +-.equ VPX_ARCH_PPC , 1 +-.equ ARCH_PPC , 1 +-.equ VPX_ARCH_LOONGARCH , 0 +-.equ ARCH_LOONGARCH , 0 +-.equ HAVE_NEON_ASM , 0 +-.equ HAVE_NEON , 0 +-.equ HAVE_NEON_DOTPROD , 0 +-.equ HAVE_NEON_I8MM , 0 +-.equ HAVE_SVE , 0 +-.equ HAVE_SVE2 , 0 +-.equ HAVE_MIPS32 , 0 +-.equ HAVE_DSPR2 , 0 +-.equ HAVE_MSA , 0 +-.equ HAVE_MIPS64 , 0 +-.equ HAVE_MMX , 0 +-.equ HAVE_SSE , 0 +-.equ HAVE_SSE2 , 0 +-.equ HAVE_SSE3 , 0 +-.equ HAVE_SSSE3 , 0 +-.equ HAVE_SSE4_1 , 0 +-.equ HAVE_AVX , 0 +-.equ HAVE_AVX2 , 0 +-.equ HAVE_AVX512 , 0 +-.equ HAVE_VSX , 0 +-.equ HAVE_MMI , 0 +-.equ HAVE_LSX , 0 +-.equ HAVE_LASX , 0 +-.equ HAVE_VPX_PORTS , 1 +-.equ HAVE_PTHREAD_H , 1 +-.equ HAVE_UNISTD_H , 0 +-.equ CONFIG_DEPENDENCY_TRACKING , 1 +-.equ CONFIG_EXTERNAL_BUILD , 1 +-.equ CONFIG_INSTALL_DOCS , 0 +-.equ CONFIG_INSTALL_BINS , 1 +-.equ CONFIG_INSTALL_LIBS , 1 +-.equ CONFIG_INSTALL_SRCS , 0 +-.equ CONFIG_DEBUG , 0 +-.equ CONFIG_GPROF , 0 +-.equ CONFIG_GCOV , 0 +-.equ CONFIG_RVCT , 0 +-.equ CONFIG_GCC , 1 +-.equ CONFIG_MSVS , 0 +-.equ CONFIG_PIC , 0 +-.equ CONFIG_BIG_ENDIAN , 0 +-.equ CONFIG_CODEC_SRCS , 0 +-.equ CONFIG_DEBUG_LIBS , 0 +-.equ CONFIG_DEQUANT_TOKENS , 0 +-.equ CONFIG_DC_RECON , 0 +-.equ CONFIG_RUNTIME_CPU_DETECT , 0 +-.equ CONFIG_POSTPROC , 1 +-.equ CONFIG_VP9_POSTPROC , 1 +-.equ CONFIG_MULTITHREAD , 1 +-.equ CONFIG_INTERNAL_STATS , 0 +-.equ CONFIG_VP8_ENCODER , 1 +-.equ CONFIG_VP8_DECODER , 1 +-.equ CONFIG_VP9_ENCODER , 1 +-.equ CONFIG_VP9_DECODER , 1 +-.equ CONFIG_VP8 , 1 +-.equ CONFIG_VP9 , 1 +-.equ CONFIG_ENCODERS , 1 +-.equ CONFIG_DECODERS , 1 +-.equ CONFIG_STATIC_MSVCRT , 0 +-.equ CONFIG_SPATIAL_RESAMPLING , 1 +-.equ CONFIG_REALTIME_ONLY , 1 +-.equ CONFIG_ONTHEFLY_BITPACKING , 0 +-.equ CONFIG_ERROR_CONCEALMENT , 0 +-.equ CONFIG_SHARED , 0 +-.equ CONFIG_STATIC , 1 +-.equ CONFIG_SMALL , 0 +-.equ CONFIG_POSTPROC_VISUALIZER , 0 +-.equ CONFIG_OS_SUPPORT , 1 +-.equ CONFIG_UNIT_TESTS , 1 +-.equ CONFIG_WEBM_IO , 1 +-.equ CONFIG_LIBYUV , 0 +-.equ CONFIG_DECODE_PERF_TESTS , 0 +-.equ CONFIG_ENCODE_PERF_TESTS , 0 +-.equ CONFIG_MULTI_RES_ENCODING , 1 +-.equ CONFIG_TEMPORAL_DENOISING , 1 +-.equ CONFIG_VP9_TEMPORAL_DENOISING , 1 +-.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0 +-.equ CONFIG_VP9_HIGHBITDEPTH , 0 +-.equ CONFIG_BETTER_HW_COMPATIBILITY , 0 +-.equ CONFIG_EXPERIMENTAL , 0 +-.equ CONFIG_SIZE_LIMIT , 1 +-.equ CONFIG_ALWAYS_ADJUST_BPM , 0 +-.equ CONFIG_BITSTREAM_DEBUG , 0 +-.equ CONFIG_MISMATCH_DEBUG , 0 +-.equ CONFIG_FP_MB_STATS , 0 +-.equ CONFIG_EMULATE_HARDWARE , 0 +-.equ CONFIG_NON_GREEDY_MV , 0 +-.equ CONFIG_COLLECT_COMPONENT_TIMING , 0 +-.equ DECODE_WIDTH_LIMIT , 16384 +-.equ DECODE_HEIGHT_LIMIT , 16384 +- .section .note.GNU-stack,"",%progbits +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c ++++ /dev/null +@@ -1,10 +0,0 @@ +-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ +-/* */ +-/* Use of this source code is governed by a BSD-style license */ +-/* that can be found in the LICENSE file in the root of the source */ +-/* tree. An additional intellectual property rights grant can be found */ +-/* in the file PATENTS. All contributing project authors may */ +-/* be found in the AUTHORS file in the root of the source tree. */ +-#include "vpx/vpx_codec.h" +-static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-unit-tests"; +-const char *vpx_codec_build_config(void) {return cfg;} +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h ++++ /dev/null +@@ -1,116 +0,0 @@ +-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ +-/* */ +-/* Use of this source code is governed by a BSD-style license */ +-/* that can be found in the LICENSE file in the root of the source */ +-/* tree. An additional intellectual property rights grant can be found */ +-/* in the file PATENTS. All contributing project authors may */ +-/* be found in the AUTHORS file in the root of the source tree. */ +-/* This file automatically generated by configure. Do not edit! */ +-#ifndef VPX_CONFIG_H +-#define VPX_CONFIG_H +-#define RESTRICT +-#define INLINE inline +-#define VPX_ARCH_ARM 0 +-#define ARCH_ARM 0 +-#define VPX_ARCH_AARCH64 0 +-#define ARCH_AARCH64 0 +-#define VPX_ARCH_MIPS 0 +-#define ARCH_MIPS 0 +-#define VPX_ARCH_X86 0 +-#define ARCH_X86 0 +-#define VPX_ARCH_X86_64 0 +-#define ARCH_X86_64 0 +-#define VPX_ARCH_PPC 1 +-#define ARCH_PPC 1 +-#define VPX_ARCH_LOONGARCH 0 +-#define ARCH_LOONGARCH 0 +-#define HAVE_NEON_ASM 0 +-#define HAVE_NEON 0 +-#define HAVE_NEON_DOTPROD 0 +-#define HAVE_NEON_I8MM 0 +-#define HAVE_SVE 0 +-#define HAVE_SVE2 0 +-#define HAVE_MIPS32 0 +-#define HAVE_DSPR2 0 +-#define HAVE_MSA 0 +-#define HAVE_MIPS64 0 +-#define HAVE_MMX 0 +-#define HAVE_SSE 0 +-#define HAVE_SSE2 0 +-#define HAVE_SSE3 0 +-#define HAVE_SSSE3 0 +-#define HAVE_SSE4_1 0 +-#define HAVE_AVX 0 +-#define HAVE_AVX2 0 +-#define HAVE_AVX512 0 +-#define HAVE_VSX 0 +-#define HAVE_MMI 0 +-#define HAVE_LSX 0 +-#define HAVE_LASX 0 +-#define HAVE_VPX_PORTS 1 +-#define HAVE_PTHREAD_H 1 +-#define HAVE_UNISTD_H 0 +-#define CONFIG_DEPENDENCY_TRACKING 1 +-#define CONFIG_EXTERNAL_BUILD 1 +-#define CONFIG_INSTALL_DOCS 0 +-#define CONFIG_INSTALL_BINS 1 +-#define CONFIG_INSTALL_LIBS 1 +-#define CONFIG_INSTALL_SRCS 0 +-#define CONFIG_DEBUG 0 +-#define CONFIG_GPROF 0 +-#define CONFIG_GCOV 0 +-#define CONFIG_RVCT 0 +-#define CONFIG_GCC 1 +-#define CONFIG_MSVS 0 +-#define CONFIG_PIC 0 +-#define CONFIG_BIG_ENDIAN 0 +-#define CONFIG_CODEC_SRCS 0 +-#define CONFIG_DEBUG_LIBS 0 +-#define CONFIG_DEQUANT_TOKENS 0 +-#define CONFIG_DC_RECON 0 +-#define CONFIG_RUNTIME_CPU_DETECT 0 +-#define CONFIG_POSTPROC 1 +-#define CONFIG_VP9_POSTPROC 1 +-#define CONFIG_MULTITHREAD 1 +-#define CONFIG_INTERNAL_STATS 0 +-#define CONFIG_VP8_ENCODER 1 +-#define CONFIG_VP8_DECODER 1 +-#define CONFIG_VP9_ENCODER 1 +-#define CONFIG_VP9_DECODER 1 +-#define CONFIG_VP8 1 +-#define CONFIG_VP9 1 +-#define CONFIG_ENCODERS 1 +-#define CONFIG_DECODERS 1 +-#define CONFIG_STATIC_MSVCRT 0 +-#define CONFIG_SPATIAL_RESAMPLING 1 +-#define CONFIG_REALTIME_ONLY 1 +-#define CONFIG_ONTHEFLY_BITPACKING 0 +-#define CONFIG_ERROR_CONCEALMENT 0 +-#define CONFIG_SHARED 0 +-#define CONFIG_STATIC 1 +-#define CONFIG_SMALL 0 +-#define CONFIG_POSTPROC_VISUALIZER 0 +-#define CONFIG_OS_SUPPORT 1 +-#define CONFIG_UNIT_TESTS 1 +-#define CONFIG_WEBM_IO 1 +-#define CONFIG_LIBYUV 0 +-#define CONFIG_DECODE_PERF_TESTS 0 +-#define CONFIG_ENCODE_PERF_TESTS 0 +-#define CONFIG_MULTI_RES_ENCODING 1 +-#define CONFIG_TEMPORAL_DENOISING 1 +-#define CONFIG_VP9_TEMPORAL_DENOISING 1 +-#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 +-#define CONFIG_VP9_HIGHBITDEPTH 0 +-#define CONFIG_BETTER_HW_COMPATIBILITY 0 +-#define CONFIG_EXPERIMENTAL 0 +-#define CONFIG_SIZE_LIMIT 1 +-#define CONFIG_ALWAYS_ADJUST_BPM 0 +-#define CONFIG_BITSTREAM_DEBUG 0 +-#define CONFIG_MISMATCH_DEBUG 0 +-#define CONFIG_FP_MB_STATS 0 +-#define CONFIG_EMULATE_HARDWARE 0 +-#define CONFIG_NON_GREEDY_MV 0 +-#define CONFIG_COLLECT_COMPONENT_TIMING 0 +-#define DECODE_WIDTH_LIMIT 16384 +-#define DECODE_HEIGHT_LIMIT 16384 +-#endif /* VPX_CONFIG_H */ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h ++++ /dev/null +@@ -1,858 +0,0 @@ +-/* +- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * +- * Use of this source code is governed by a BSD-style license +- * that can be found in the LICENSE file in the root of the source +- * tree. An additional intellectual property rights grant can be found +- * in the file PATENTS. All contributing project authors may +- * be found in the AUTHORS file in the root of the source tree. +- */ +- +-// This file is generated. Do not edit. +-#ifndef VPX_DSP_RTCD_H_ +-#define VPX_DSP_RTCD_H_ +- +-#ifdef RTCD_C +-#define RTCD_EXTERN +-#else +-#define RTCD_EXTERN extern +-#endif +- +-/* +- * DSP +- */ +- +-#include "vpx/vpx_integer.h" +-#include "vpx_dsp/vpx_dsp_common.h" +-#include "vpx_dsp/vpx_filter.h" +-#if CONFIG_VP9_ENCODER +- struct macroblock_plane; +- struct ScanOrder; +-#endif +- +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-unsigned int vpx_avg_4x4_c(const uint8_t *, int p); +-#define vpx_avg_4x4 vpx_avg_4x4_c +- +-unsigned int vpx_avg_8x8_c(const uint8_t *, int p); +-#define vpx_avg_8x8 vpx_avg_8x8_c +- +-void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); +-void vpx_comp_avg_pred_vsx(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); +-#define vpx_comp_avg_pred vpx_comp_avg_pred_vsx +- +-void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8 vpx_convolve8_vsx +- +-void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_avg_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8_avg vpx_convolve8_avg_vsx +- +-void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_avg_horiz_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_vsx +- +-void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_avg_vert_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_vsx +- +-void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_horiz_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8_horiz vpx_convolve8_horiz_vsx +- +-void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve8_vert_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve8_vert vpx_convolve8_vert_vsx +- +-void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve_avg_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve_avg vpx_convolve_avg_vsx +- +-void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-void vpx_convolve_copy_vsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_convolve_copy vpx_convolve_copy_vsx +- +-void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c +- +-void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c +- +-void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c +- +-void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c +- +-void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c +- +-void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c +- +-void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c +- +-void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c +- +-void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c +- +-void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c +- +-void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c +- +-void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c +- +-void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c +- +-void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c +- +-void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c +- +-void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c +- +-void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_d45_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_vsx +- +-void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_d45_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_vsx +- +-void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c +- +-void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c +- +-void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c +- +-void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_d63_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_vsx +- +-void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_d63_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_vsx +- +-void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c +- +-void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c +- +-void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c +- +-void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_128_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_vsx +- +-void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_128_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_vsx +- +-void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c +- +-void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c +- +-void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_left_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_vsx +- +-void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_left_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_vsx +- +-void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c +- +-void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c +- +-void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_vsx +- +-void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_vsx +- +-void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c +- +-void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_c +- +-void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_top_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_vsx +- +-void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_dc_top_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_vsx +- +-void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c +- +-void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c +- +-void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct16x16 vpx_fdct16x16_c +- +-void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct16x16_1 vpx_fdct16x16_1_c +- +-void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct32x32 vpx_fdct32x32_c +- +-void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct32x32_1 vpx_fdct32x32_1_c +- +-void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); +-void vpx_fdct32x32_rd_vsx(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct32x32_rd vpx_fdct32x32_rd_vsx +- +-void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct4x4 vpx_fdct4x4_c +- +-void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct4x4_1 vpx_fdct4x4_1_c +- +-void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct8x8 vpx_fdct8x8_c +- +-void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); +-#define vpx_fdct8x8_1 vpx_fdct8x8_1_c +- +-void vpx_get16x16var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +-void vpx_get16x16var_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +-#define vpx_get16x16var vpx_get16x16var_vsx +- +-unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride); +-unsigned int vpx_get4x4sse_cs_vsx(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride); +-#define vpx_get4x4sse_cs vpx_get4x4sse_cs_vsx +- +-void vpx_get8x8var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +-void vpx_get8x8var_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +-#define vpx_get8x8var vpx_get8x8var_vsx +- +-unsigned int vpx_get_mb_ss_c(const int16_t *); +-unsigned int vpx_get_mb_ss_vsx(const int16_t *); +-#define vpx_get_mb_ss vpx_get_mb_ss_vsx +- +-void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_h_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_vsx +- +-void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_h_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_vsx +- +-void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c +- +-void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c +- +-void vpx_hadamard_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +-void vpx_hadamard_16x16_vsx(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +-#define vpx_hadamard_16x16 vpx_hadamard_16x16_vsx +- +-void vpx_hadamard_32x32_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +-#define vpx_hadamard_32x32 vpx_hadamard_32x32_c +- +-void vpx_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +-void vpx_hadamard_8x8_vsx(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +-#define vpx_hadamard_8x8 vpx_hadamard_8x8_vsx +- +-void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c +- +-void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct16x16_10_add vpx_idct16x16_10_add_c +- +-void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct16x16_1_add vpx_idct16x16_1_add_c +- +-void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-void vpx_idct16x16_256_add_vsx(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct16x16_256_add vpx_idct16x16_256_add_vsx +- +-void vpx_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct16x16_38_add vpx_idct16x16_38_add_c +- +-void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-void vpx_idct32x32_1024_add_vsx(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_vsx +- +-void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct32x32_135_add vpx_idct32x32_135_add_c +- +-void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct32x32_1_add vpx_idct32x32_1_add_c +- +-void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct32x32_34_add vpx_idct32x32_34_add_c +- +-void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-void vpx_idct4x4_16_add_vsx(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct4x4_16_add vpx_idct4x4_16_add_vsx +- +-void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct4x4_1_add vpx_idct4x4_1_add_c +- +-void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct8x8_12_add vpx_idct8x8_12_add_c +- +-void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct8x8_1_add vpx_idct8x8_1_add_c +- +-void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-void vpx_idct8x8_64_add_vsx(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_idct8x8_64_add vpx_idct8x8_64_add_vsx +- +-int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width); +-#define vpx_int_pro_col vpx_int_pro_col_c +- +-void vpx_int_pro_row_c(int16_t hbuf[16], const uint8_t *ref, const int ref_stride, const int height); +-#define vpx_int_pro_row vpx_int_pro_row_c +- +-void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-void vpx_iwht4x4_16_add_vsx(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_vsx +- +-void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +-#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c +- +-void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c +- +-void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_c +- +-void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_c +- +-void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +-#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_c +- +-void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_c +- +-void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +-#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c +- +-void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c +- +-void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c +- +-void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_c +- +-void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +-#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_c +- +-void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +-#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_c +- +-void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +-#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c +- +-void vpx_mbpost_proc_across_ip_c(unsigned char *src, int pitch, int rows, int cols,int flimit); +-void vpx_mbpost_proc_across_ip_vsx(unsigned char *src, int pitch, int rows, int cols,int flimit); +-#define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_vsx +- +-void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit); +-void vpx_mbpost_proc_down_vsx(unsigned char *dst, int pitch, int rows, int cols,int flimit); +-#define vpx_mbpost_proc_down vpx_mbpost_proc_down_vsx +- +-void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max); +-#define vpx_minmax_8x8 vpx_minmax_8x8_c +- +-unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_mse16x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_mse16x16 vpx_mse16x16_vsx +- +-unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_mse16x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_mse16x8 vpx_mse16x8_vsx +- +-unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_mse8x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_mse8x16 vpx_mse8x16_vsx +- +-unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_mse8x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_mse8x8 vpx_mse8x8_vsx +- +-void vpx_plane_add_noise_c(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch); +-#define vpx_plane_add_noise vpx_plane_add_noise_c +- +-void vpx_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); +-void vpx_post_proc_down_and_across_mb_row_vsx(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); +-#define vpx_post_proc_down_and_across_mb_row vpx_post_proc_down_and_across_mb_row_vsx +- +-void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-void vpx_quantize_b_vsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-#define vpx_quantize_b vpx_quantize_b_vsx +- +-void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-void vpx_quantize_b_32x32_vsx(const tran_low_t *coeff_ptr, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); +-#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_vsx +- +-unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad16x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad16x16 vpx_sad16x16_vsx +- +-unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad16x16_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad16x16_avg vpx_sad16x16_avg_vsx +- +-void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad16x16x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad16x16x4d vpx_sad16x16x4d_vsx +- +-unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad16x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad16x32 vpx_sad16x32_vsx +- +-unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad16x32_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad16x32_avg vpx_sad16x32_avg_vsx +- +-void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad16x32x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad16x32x4d vpx_sad16x32x4d_vsx +- +-unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad16x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad16x8 vpx_sad16x8_vsx +- +-unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad16x8_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad16x8_avg vpx_sad16x8_avg_vsx +- +-void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad16x8x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad16x8x4d vpx_sad16x8x4d_vsx +- +-unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad32x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad32x16 vpx_sad32x16_vsx +- +-unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad32x16_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad32x16_avg vpx_sad32x16_avg_vsx +- +-void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad32x16x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad32x16x4d vpx_sad32x16x4d_vsx +- +-unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad32x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad32x32 vpx_sad32x32_vsx +- +-unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad32x32_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad32x32_avg vpx_sad32x32_avg_vsx +- +-void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad32x32x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad32x32x4d vpx_sad32x32x4d_vsx +- +-unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad32x64_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad32x64 vpx_sad32x64_vsx +- +-unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad32x64_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad32x64_avg vpx_sad32x64_avg_vsx +- +-void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad32x64x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad32x64x4d vpx_sad32x64x4d_vsx +- +-unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad4x4 vpx_sad4x4_c +- +-unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad4x4_avg vpx_sad4x4_avg_c +- +-void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad4x4x4d vpx_sad4x4x4d_c +- +-unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad4x8 vpx_sad4x8_c +- +-unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad4x8_avg vpx_sad4x8_avg_c +- +-void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad4x8x4d vpx_sad4x8x4d_c +- +-unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad64x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad64x32 vpx_sad64x32_vsx +- +-unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad64x32_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad64x32_avg vpx_sad64x32_avg_vsx +- +-void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad64x32x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad64x32x4d vpx_sad64x32x4d_vsx +- +-unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad64x64_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad64x64 vpx_sad64x64_vsx +- +-unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-unsigned int vpx_sad64x64_avg_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad64x64_avg vpx_sad64x64_avg_vsx +- +-void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-void vpx_sad64x64x4d_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad64x64x4d vpx_sad64x64x4d_vsx +- +-unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad8x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad8x16 vpx_sad8x16_vsx +- +-unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad8x16_avg vpx_sad8x16_avg_c +- +-void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad8x16x4d vpx_sad8x16x4d_c +- +-unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad8x4_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad8x4 vpx_sad8x4_vsx +- +-unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad8x4_avg vpx_sad8x4_avg_c +- +-void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad8x4x4d vpx_sad8x4x4d_c +- +-unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-unsigned int vpx_sad8x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad8x8 vpx_sad8x8_vsx +- +-unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +-#define vpx_sad8x8_avg vpx_sad8x8_avg_c +- +-void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad8x8x4d vpx_sad8x8x4d_c +- +-unsigned int vpx_sad_skip_16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_16x16 vpx_sad_skip_16x16_c +- +-void vpx_sad_skip_16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_16x16x4d vpx_sad_skip_16x16x4d_c +- +-unsigned int vpx_sad_skip_16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_16x32 vpx_sad_skip_16x32_c +- +-void vpx_sad_skip_16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_16x32x4d vpx_sad_skip_16x32x4d_c +- +-unsigned int vpx_sad_skip_16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_16x8 vpx_sad_skip_16x8_c +- +-void vpx_sad_skip_16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_16x8x4d vpx_sad_skip_16x8x4d_c +- +-unsigned int vpx_sad_skip_32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_32x16 vpx_sad_skip_32x16_c +- +-void vpx_sad_skip_32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_32x16x4d vpx_sad_skip_32x16x4d_c +- +-unsigned int vpx_sad_skip_32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_32x32 vpx_sad_skip_32x32_c +- +-void vpx_sad_skip_32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_32x32x4d vpx_sad_skip_32x32x4d_c +- +-unsigned int vpx_sad_skip_32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_32x64 vpx_sad_skip_32x64_c +- +-void vpx_sad_skip_32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_32x64x4d vpx_sad_skip_32x64x4d_c +- +-unsigned int vpx_sad_skip_4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_4x4 vpx_sad_skip_4x4_c +- +-void vpx_sad_skip_4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_4x4x4d vpx_sad_skip_4x4x4d_c +- +-unsigned int vpx_sad_skip_4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_4x8 vpx_sad_skip_4x8_c +- +-void vpx_sad_skip_4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_4x8x4d vpx_sad_skip_4x8x4d_c +- +-unsigned int vpx_sad_skip_64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_64x32 vpx_sad_skip_64x32_c +- +-void vpx_sad_skip_64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_64x32x4d vpx_sad_skip_64x32x4d_c +- +-unsigned int vpx_sad_skip_64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_64x64 vpx_sad_skip_64x64_c +- +-void vpx_sad_skip_64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_64x64x4d vpx_sad_skip_64x64x4d_c +- +-unsigned int vpx_sad_skip_8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_8x16 vpx_sad_skip_8x16_c +- +-void vpx_sad_skip_8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_8x16x4d vpx_sad_skip_8x16x4d_c +- +-unsigned int vpx_sad_skip_8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_8x4 vpx_sad_skip_8x4_c +- +-void vpx_sad_skip_8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_8x4x4d vpx_sad_skip_8x4x4d_c +- +-unsigned int vpx_sad_skip_8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +-#define vpx_sad_skip_8x8 vpx_sad_skip_8x8_c +- +-void vpx_sad_skip_8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); +-#define vpx_sad_skip_8x8x4d vpx_sad_skip_8x8x4d_c +- +-int vpx_satd_c(const int16_t *coeff, int length); +-#define vpx_satd vpx_satd_c +- +-void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_2d vpx_scaled_2d_c +- +-void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c +- +-void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c +- +-void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c +- +-void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_horiz vpx_scaled_horiz_c +- +-void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +-#define vpx_scaled_vert vpx_scaled_vert_c +- +-int64_t vpx_sse_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, int width, int height); +-#define vpx_sse vpx_sse_c +- +-uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c +- +-uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c +- +-uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c +- +-uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c +- +-uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c +- +-uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c +- +-uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c +- +-uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c +- +-uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c +- +-uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c +- +-uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c +- +-uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c +- +-uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +-#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c +- +-uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_c +- +-uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c +- +-uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c +- +-uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c +- +-uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_c +- +-uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c +- +-uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c +- +-uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c +- +-uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c +- +-uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c +- +-uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c +- +-uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c +- +-uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +-#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_c +- +-void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); +-void vpx_subtract_block_vsx(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); +-#define vpx_subtract_block vpx_subtract_block_vsx +- +-uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size); +-#define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c +- +-void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_tm_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_vsx +- +-void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_tm_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_vsx +- +-void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c +- +-void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c +- +-void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_v_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_vsx +- +-void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-void vpx_v_predictor_32x32_vsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_vsx +- +-void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c +- +-void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c +- +-unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance16x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance16x16 vpx_variance16x16_vsx +- +-unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance16x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance16x32 vpx_variance16x32_vsx +- +-unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance16x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance16x8 vpx_variance16x8_vsx +- +-unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance32x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance32x16 vpx_variance32x16_vsx +- +-unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance32x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance32x32 vpx_variance32x32_vsx +- +-unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance32x64_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance32x64 vpx_variance32x64_vsx +- +-unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance4x4_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance4x4 vpx_variance4x4_vsx +- +-unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance4x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance4x8 vpx_variance4x8_vsx +- +-unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance64x32_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance64x32 vpx_variance64x32_vsx +- +-unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance64x64_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance64x64 vpx_variance64x64_vsx +- +-unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance8x16_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance8x16 vpx_variance8x16_vsx +- +-unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance8x4_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance8x4 vpx_variance8x4_vsx +- +-unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-unsigned int vpx_variance8x8_vsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +-#define vpx_variance8x8 vpx_variance8x8_vsx +- +-void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +-#define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c +- +-int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl); +-#define vpx_vector_var vpx_vector_var_c +- +-void vpx_dsp_rtcd(void); +- +-#include "vpx_config.h" +- +-#ifdef RTCD_C +-#include "vpx_ports/ppc.h" +-static void setup_rtcd_internal(void) +-{ +- int flags = ppc_simd_caps(); +- (void)flags; +-} +-#endif +- +-#ifdef __cplusplus +-} // extern "C" +-#endif +- +-#endif // VPX_DSP_RTCD_H_ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h ++++ /dev/null +@@ -1,83 +0,0 @@ +-/* +- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * +- * Use of this source code is governed by a BSD-style license +- * that can be found in the LICENSE file in the root of the source +- * tree. An additional intellectual property rights grant can be found +- * in the file PATENTS. All contributing project authors may +- * be found in the AUTHORS file in the root of the source tree. +- */ +- +-// This file is generated. Do not edit. +-#ifndef VPX_SCALE_RTCD_H_ +-#define VPX_SCALE_RTCD_H_ +- +-#ifdef RTCD_C +-#define RTCD_EXTERN +-#else +-#define RTCD_EXTERN extern +-#endif +- +-struct yv12_buffer_config; +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +-#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c +- +-void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +-#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c +- +-void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +-#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c +- +-void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +-#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c +- +-void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +-#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c +- +-void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +-#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c +- +-void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +-#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c +- +-void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +-#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c +- +-void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); +-#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c +- +-void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf); +-#define vpx_extend_frame_borders vpx_extend_frame_borders_c +- +-void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf); +-#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c +- +-void vpx_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +-#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c +- +-void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +-#define vpx_yv12_copy_y vpx_yv12_copy_y_c +- +-void vpx_scale_rtcd(void); +- +-#include "vpx_config.h" +- +-#ifdef RTCD_C +-#include "vpx_ports/ppc.h" +-static void setup_rtcd_internal(void) +-{ +- int flags = ppc_simd_caps(); +- (void)flags; +-} +-#endif +- +-#ifdef __cplusplus +-} // extern "C" +-#endif +- +-#endif // VPX_SCALE_RTCD_H_ diff --git a/0002-third_party-lss-kernel-structs.patch b/0002-third_party-lss-kernel-structs.patch new file mode 100644 index 0000000..a81d439 --- /dev/null +++ b/0002-third_party-lss-kernel-structs.patch @@ -0,0 +1,148 @@ +Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/lss/linux_syscall_support.h ++++ chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h +@@ -86,7 +86,7 @@ + * Porting to other related platforms should not be difficult. + */ + #if (defined(__i386__) || defined(__x86_64__) || defined(__ARM_ARCH_3__) || \ +- defined(__mips__) || defined(__PPC__) || defined(__ARM_EABI__) || \ ++ defined(__mips__) || defined(__PPC__) || defined(__powerpc64__) || defined(__ARM_EABI__) || \ + defined(__aarch64__) || defined(__s390__) || defined(__e2k__) || \ + (defined(__riscv) && __riscv_xlen == 64) || defined(__loongarch_lp64)) \ + && (defined(__linux) || defined(__ANDROID__)) +@@ -400,7 +400,7 @@ struct kernel_stat64 { + unsigned __pad2; + unsigned long long st_blocks; + }; +-#elif defined __PPC__ ++#elif defined __PPC__ && !defined(__powerpc64__) + struct kernel_stat64 { + unsigned long long st_dev; + unsigned long long st_ino; +@@ -422,6 +422,28 @@ struct kernel_stat64 { + unsigned long __unused4; + unsigned long __unused5; + }; ++#elif defined(__powerpc64__) ++struct kernel_stat64 { ++ unsigned long int st_dev; ++ unsigned long int st_ino; ++ unsigned int st_mode; ++ unsigned long int st_nlink; ++ unsigned int st_uid; ++ unsigned int st_gid; ++ unsigned long int st_rdev; ++ unsigned short int __pad2; ++ long int st_size; ++ long int st_blksize; ++ long int st_blocks; ++ long int st_atime_; ++ unsigned long int st_atime_nsec_; ++ long int st_mtime_; ++ unsigned long int st_mtime_nsec_; ++ long int st_ctime_; ++ unsigned long int st_ctime_nsec_; ++ unsigned long int __unused4; ++ unsigned long int __unused5; ++}; + #elif defined(__e2k__) + struct kernel_stat64 { + unsigned long long st_dev; +@@ -538,7 +560,7 @@ struct kernel_stat { + uint64_t st_ctime_nsec_; + int64_t __unused4[3]; + }; +-#elif defined(__PPC__) ++#elif defined(__PPC__) && !defined(__powerpc64__) + typedef unsigned long kernel_blkcnt_t; + typedef unsigned long kernel_blksize_t; + typedef unsigned kernel_dev_t; +@@ -569,6 +591,37 @@ struct kernel_stat { + unsigned long __unused4; + unsigned long __unused5; + }; ++#elif defined(__powerpc64__) ++typedef long int kernel_blkcnt_t; ++typedef long int kernel_blksize_t; ++typedef unsigned long int kernel_dev_t; ++typedef unsigned int kernel_gid_t; ++typedef unsigned long int kernel_ino_t; ++typedef unsigned int kernel_mode_t; ++typedef unsigned long int kernel_nlink_t; ++typedef long int kernel_off_t; ++typedef long int kernel_time_t; ++typedef unsigned int kernel_uid_t; ++struct kernel_stat { ++ kernel_dev_t st_dev; ++ kernel_ino_t st_ino; ++ kernel_mode_t st_mode; ++ kernel_nlink_t st_nlink; ++ kernel_uid_t st_uid; ++ kernel_gid_t st_gid; ++ kernel_dev_t st_rdev; ++ kernel_off_t st_size; ++ kernel_blksize_t st_blksize; ++ kernel_blkcnt_t st_blocks; ++ kernel_time_t st_atime_; ++ unsigned long int st_atime_nsec_; ++ kernel_time_t st_mtime_; ++ unsigned long int st_mtime_nsec_; ++ kernel_time_t st_ctime_; ++ unsigned long int st_ctime_nsec_; ++ unsigned long int __unused4; ++ unsigned long int __unused5; ++}; + #elif (defined(__mips__) && _MIPS_SIM != _MIPS_SIM_ABI64) + typedef int kernel_blkcnt_t; + typedef int kernel_blksize_t; +@@ -1825,6 +1878,28 @@ struct kernel_statx { + #ifndef __NR_getcpu + #define __NR_getcpu 302 + #endif ++ ++/* Linux commit 86250b9d12caa1a3dee12a7cf638b7dd70eaadb6 (2010) adds ++ * direct socket system calls to PPC */ ++#ifndef __NR_socket ++#define __NR_socket 326 ++#endif ++#ifndef __NR_socketpair ++#define __NR_socketpair 333 ++#endif ++#ifndef __NR_sendto ++#define __NR_sendto 335 ++#endif ++#ifndef __NR_shutdown ++#define __NR_shutdown 338 ++#endif ++#ifndef __NR_sendmsg ++#define __NR_sendmsg 341 ++#endif ++#ifndef __NR_recvmsg ++#define __NR_recvmsg 342 ++#endif ++ + /* End of powerpc definitions */ + #elif defined(__s390__) + #ifndef __NR_quotactl +@@ -4826,7 +4901,7 @@ struct kernel_statx { + LSS_INLINE _syscall6(void*, mmap, void*, addr, size_t, length, int, prot, + int, flags, int, fd, int64_t, offset) + #endif +- #if defined(__PPC__) ++ #if defined(__PPC__) && !defined(__powerpc64__) + #undef LSS_SC_LOADARGS_0 + #define LSS_SC_LOADARGS_0(dummy...) + #undef LSS_SC_LOADARGS_1 +@@ -5216,7 +5291,11 @@ struct kernel_statx { + #endif + + #if !defined(__NR_pipe) ++#if defined(__powerpc64__) ++ LSS_INLINE pid_t LSS_NAME(pipe)(int *pipefd) { ++#else + LSS_INLINE int LSS_NAME(pipe)(int *pipefd) { ++#endif + return LSS_NAME(pipe2)(pipefd, 0); + } + #endif diff --git a/0003-third_party-libvpx-Add-ppc64-generated-config.patch b/0003-third_party-libvpx-Add-ppc64-generated-config.patch new file mode 100644 index 0000000..e329359 --- /dev/null +++ b/0003-third_party-libvpx-Add-ppc64-generated-config.patch @@ -0,0 +1,5075 @@ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h +@@ -0,0 +1,316 @@ ++// This file is generated. Do not edit. ++#ifndef VP8_RTCD_H_ ++#define VP8_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++/* ++ * VP8 ++ */ ++ ++struct blockd; ++struct macroblockd; ++struct loop_filter_info; ++ ++/* Encoder forward decls */ ++struct block; ++struct macroblock; ++struct variance_vtable; ++union int_mv; ++struct yv12_buffer_config; ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++void vp8_bilinear_predict16x16_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c ++ ++void vp8_bilinear_predict4x4_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c ++ ++void vp8_bilinear_predict8x4_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c ++ ++void vp8_bilinear_predict8x8_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c ++ ++int vp8_block_error_c(short* coeff, short* dqcoeff); ++#define vp8_block_error vp8_block_error_c ++ ++void vp8_copy32xn_c(const unsigned char* src_ptr, ++ int src_stride, ++ unsigned char* dst_ptr, ++ int dst_stride, ++ int height); ++#define vp8_copy32xn vp8_copy32xn_c ++ ++void vp8_copy_mem16x16_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride); ++#define vp8_copy_mem16x16 vp8_copy_mem16x16_c ++ ++void vp8_copy_mem8x4_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride); ++#define vp8_copy_mem8x4 vp8_copy_mem8x4_c ++ ++void vp8_copy_mem8x8_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride); ++#define vp8_copy_mem8x8 vp8_copy_mem8x8_c ++ ++void vp8_dc_only_idct_add_c(short input_dc, ++ unsigned char* pred_ptr, ++ int pred_stride, ++ unsigned char* dst_ptr, ++ int dst_stride); ++#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c ++ ++int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y, ++ int mc_avg_y_stride, ++ unsigned char* running_avg_y, ++ int avg_y_stride, ++ unsigned char* sig, ++ int sig_stride, ++ unsigned int motion_magnitude, ++ int increase_denoising); ++#define vp8_denoiser_filter vp8_denoiser_filter_c ++ ++int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg, ++ int mc_avg_stride, ++ unsigned char* running_avg, ++ int avg_stride, ++ unsigned char* sig, ++ int sig_stride, ++ unsigned int motion_magnitude, ++ int increase_denoising); ++#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c ++ ++void vp8_dequant_idct_add_c(short* input, ++ short* dq, ++ unsigned char* dest, ++ int stride); ++#define vp8_dequant_idct_add vp8_dequant_idct_add_c ++ ++void vp8_dequant_idct_add_uv_block_c(short* q, ++ short* dq, ++ unsigned char* dst_u, ++ unsigned char* dst_v, ++ int stride, ++ char* eobs); ++#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c ++ ++void vp8_dequant_idct_add_y_block_c(short* q, ++ short* dq, ++ unsigned char* dst, ++ int stride, ++ char* eobs); ++#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c ++ ++void vp8_dequantize_b_c(struct blockd*, short* DQC); ++#define vp8_dequantize_b vp8_dequantize_b_c ++ ++int vp8_diamond_search_sad_c(struct macroblock* x, ++ struct block* b, ++ struct blockd* d, ++ union int_mv* ref_mv, ++ union int_mv* best_mv, ++ int search_param, ++ int sad_per_bit, ++ int* num00, ++ struct variance_vtable* fn_ptr, ++ int* mvcost[2], ++ union int_mv* center_mv); ++#define vp8_diamond_search_sad vp8_diamond_search_sad_c ++ ++void vp8_fast_quantize_b_c(struct block*, struct blockd*); ++#define vp8_fast_quantize_b vp8_fast_quantize_b_c ++ ++void vp8_filter_by_weight16x16_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride, ++ int src_weight); ++#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c ++ ++void vp8_filter_by_weight4x4_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride, ++ int src_weight); ++#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c ++ ++void vp8_filter_by_weight8x8_c(unsigned char* src, ++ int src_stride, ++ unsigned char* dst, ++ int dst_stride, ++ int src_weight); ++#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c ++ ++void vp8_loop_filter_bh_c(unsigned char* y_ptr, ++ unsigned char* u_ptr, ++ unsigned char* v_ptr, ++ int y_stride, ++ int uv_stride, ++ struct loop_filter_info* lfi); ++#define vp8_loop_filter_bh vp8_loop_filter_bh_c ++ ++void vp8_loop_filter_bv_c(unsigned char* y_ptr, ++ unsigned char* u_ptr, ++ unsigned char* v_ptr, ++ int y_stride, ++ int uv_stride, ++ struct loop_filter_info* lfi); ++#define vp8_loop_filter_bv vp8_loop_filter_bv_c ++ ++void vp8_loop_filter_mbh_c(unsigned char* y_ptr, ++ unsigned char* u_ptr, ++ unsigned char* v_ptr, ++ int y_stride, ++ int uv_stride, ++ struct loop_filter_info* lfi); ++#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c ++ ++void vp8_loop_filter_mbv_c(unsigned char* y_ptr, ++ unsigned char* u_ptr, ++ unsigned char* v_ptr, ++ int y_stride, ++ int uv_stride, ++ struct loop_filter_info* lfi); ++#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c ++ ++void vp8_loop_filter_bhs_c(unsigned char* y_ptr, ++ int y_stride, ++ const unsigned char* blimit); ++#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c ++ ++void vp8_loop_filter_bvs_c(unsigned char* y_ptr, ++ int y_stride, ++ const unsigned char* blimit); ++#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c ++ ++void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr, ++ int y_stride, ++ const unsigned char* blimit); ++#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c ++ ++void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr, ++ int y_stride, ++ const unsigned char* blimit); ++#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c ++ ++int vp8_mbblock_error_c(struct macroblock* mb, int dc); ++#define vp8_mbblock_error vp8_mbblock_error_c ++ ++int vp8_mbuverror_c(struct macroblock* mb); ++#define vp8_mbuverror vp8_mbuverror_c ++ ++int vp8_refining_search_sad_c(struct macroblock* x, ++ struct block* b, ++ struct blockd* d, ++ union int_mv* ref_mv, ++ int error_per_bit, ++ int search_range, ++ struct variance_vtable* fn_ptr, ++ int* mvcost[2], ++ union int_mv* center_mv); ++#define vp8_refining_search_sad vp8_refining_search_sad_c ++ ++void vp8_regular_quantize_b_c(struct block*, struct blockd*); ++#define vp8_regular_quantize_b vp8_regular_quantize_b_c ++ ++void vp8_short_fdct4x4_c(short* input, short* output, int pitch); ++#define vp8_short_fdct4x4 vp8_short_fdct4x4_c ++ ++void vp8_short_fdct8x4_c(short* input, short* output, int pitch); ++#define vp8_short_fdct8x4 vp8_short_fdct8x4_c ++ ++void vp8_short_idct4x4llm_c(short* input, ++ unsigned char* pred_ptr, ++ int pred_stride, ++ unsigned char* dst_ptr, ++ int dst_stride); ++#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c ++ ++void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff); ++#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c ++ ++void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff); ++#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c ++ ++void vp8_short_walsh4x4_c(short* input, short* output, int pitch); ++#define vp8_short_walsh4x4 vp8_short_walsh4x4_c ++ ++void vp8_sixtap_predict16x16_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c ++ ++void vp8_sixtap_predict4x4_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c ++ ++void vp8_sixtap_predict8x4_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c ++ ++void vp8_sixtap_predict8x8_c(unsigned char* src_ptr, ++ int src_pixels_per_line, ++ int xoffset, ++ int yoffset, ++ unsigned char* dst_ptr, ++ int dst_pitch); ++#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c ++ ++void vp8_rtcd(void); ++ ++#include "vpx_config.h" ++ ++#ifdef RTCD_C ++static void setup_rtcd_internal(void) {} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h +@@ -0,0 +1,267 @@ ++// This file is generated. Do not edit. ++#ifndef VP9_RTCD_H_ ++#define VP9_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++/* ++ * VP9 ++ */ ++ ++#include "vp9/common/vp9_common.h" ++#include "vp9/common/vp9_enums.h" ++#include "vp9/common/vp9_filter.h" ++#include "vpx/vpx_integer.h" ++ ++struct macroblockd; ++ ++/* Encoder forward decls */ ++struct macroblock; ++struct macroblock_plane; ++struct vp9_sad_table; ++struct ScanOrder; ++struct search_site_config; ++struct mv; ++union int_mv; ++struct yv12_buffer_config; ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++int64_t vp9_block_error_c(const tran_low_t* coeff, ++ const tran_low_t* dqcoeff, ++ intptr_t block_size, ++ int64_t* ssz); ++#define vp9_block_error vp9_block_error_c ++ ++int64_t vp9_block_error_fp_c(const tran_low_t* coeff, ++ const tran_low_t* dqcoeff, ++ int block_size); ++#define vp9_block_error_fp vp9_block_error_fp_c ++ ++int vp9_denoiser_filter_c(const uint8_t* sig, ++ int sig_stride, ++ const uint8_t* mc_avg, ++ int mc_avg_stride, ++ uint8_t* avg, ++ int avg_stride, ++ int increase_denoising, ++ BLOCK_SIZE bs, ++ int motion_magnitude); ++#define vp9_denoiser_filter vp9_denoiser_filter_c ++ ++int vp9_diamond_search_sad_c(const struct macroblock* x, ++ const struct search_site_config* cfg, ++ struct mv* ref_mv, ++ uint32_t start_mv_sad, ++ struct mv* best_mv, ++ int search_param, ++ int sad_per_bit, ++ int* num00, ++ const struct vp9_sad_table* sad_fn_ptr, ++ const struct mv* center_mv); ++#define vp9_diamond_search_sad vp9_diamond_search_sad_c ++ ++void vp9_fht16x16_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_fht16x16 vp9_fht16x16_c ++ ++void vp9_fht4x4_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_fht4x4 vp9_fht4x4_c ++ ++void vp9_fht8x8_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_fht8x8 vp9_fht8x8_c ++ ++void vp9_filter_by_weight16x16_c(const uint8_t* src, ++ int src_stride, ++ uint8_t* dst, ++ int dst_stride, ++ int src_weight); ++#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c ++ ++void vp9_filter_by_weight8x8_c(const uint8_t* src, ++ int src_stride, ++ uint8_t* dst, ++ int dst_stride, ++ int src_weight); ++#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c ++ ++void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride); ++#define vp9_fwht4x4 vp9_fwht4x4_c ++ ++int64_t vp9_highbd_block_error_c(const tran_low_t* coeff, ++ const tran_low_t* dqcoeff, ++ intptr_t block_size, ++ int64_t* ssz, ++ int bd); ++#define vp9_highbd_block_error vp9_highbd_block_error_c ++ ++void vp9_highbd_fht16x16_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_highbd_fht16x16 vp9_highbd_fht16x16_c ++ ++void vp9_highbd_fht4x4_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_highbd_fht4x4 vp9_highbd_fht4x4_c ++ ++void vp9_highbd_fht8x8_c(const int16_t* input, ++ tran_low_t* output, ++ int stride, ++ int tx_type); ++#define vp9_highbd_fht8x8 vp9_highbd_fht8x8_c ++ ++void vp9_highbd_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride); ++#define vp9_highbd_fwht4x4 vp9_highbd_fwht4x4_c ++ ++void vp9_highbd_iht16x16_256_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int tx_type, ++ int bd); ++#define vp9_highbd_iht16x16_256_add vp9_highbd_iht16x16_256_add_c ++ ++void vp9_highbd_iht4x4_16_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int tx_type, ++ int bd); ++#define vp9_highbd_iht4x4_16_add vp9_highbd_iht4x4_16_add_c ++ ++void vp9_highbd_iht8x8_64_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int tx_type, ++ int bd); ++#define vp9_highbd_iht8x8_64_add vp9_highbd_iht8x8_64_add_c ++ ++void vp9_highbd_mbpost_proc_across_ip_c(uint16_t* src, ++ int pitch, ++ int rows, ++ int cols, ++ int flimit); ++#define vp9_highbd_mbpost_proc_across_ip vp9_highbd_mbpost_proc_across_ip_c ++ ++void vp9_highbd_mbpost_proc_down_c(uint16_t* dst, ++ int pitch, ++ int rows, ++ int cols, ++ int flimit); ++#define vp9_highbd_mbpost_proc_down vp9_highbd_mbpost_proc_down_c ++ ++void vp9_highbd_post_proc_down_and_across_c(const uint16_t* src_ptr, ++ uint16_t* dst_ptr, ++ int src_pixels_per_line, ++ int dst_pixels_per_line, ++ int rows, ++ int cols, ++ int flimit); ++#define vp9_highbd_post_proc_down_and_across \ ++ vp9_highbd_post_proc_down_and_across_c ++ ++void vp9_highbd_quantize_fp_c(const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vp9_highbd_quantize_fp vp9_highbd_quantize_fp_c ++ ++void vp9_highbd_quantize_fp_32x32_c( ++ const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vp9_highbd_quantize_fp_32x32 vp9_highbd_quantize_fp_32x32_c ++ ++void vp9_highbd_temporal_filter_apply_c(const uint8_t* frame1, ++ unsigned int stride, ++ const uint8_t* frame2, ++ unsigned int block_width, ++ unsigned int block_height, ++ int strength, ++ int* blk_fw, ++ int use_32x32, ++ uint32_t* accumulator, ++ uint16_t* count); ++#define vp9_highbd_temporal_filter_apply vp9_highbd_temporal_filter_apply_c ++ ++void vp9_iht16x16_256_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride, ++ int tx_type); ++#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c ++ ++void vp9_iht4x4_16_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride, ++ int tx_type); ++#define vp9_iht4x4_16_add vp9_iht4x4_16_add_c ++ ++void vp9_iht8x8_64_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride, ++ int tx_type); ++#define vp9_iht8x8_64_add vp9_iht8x8_64_add_c ++ ++void vp9_quantize_fp_c(const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vp9_quantize_fp vp9_quantize_fp_c ++ ++void vp9_quantize_fp_32x32_c(const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c ++ ++void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config* src, ++ struct yv12_buffer_config* dst, ++ INTERP_FILTER filter_type, ++ int phase_scaler); ++#define vp9_scale_and_extend_frame vp9_scale_and_extend_frame_c ++ ++void vp9_rtcd(void); ++ ++#include "vpx_config.h" ++ ++#ifdef RTCD_C ++static void setup_rtcd_internal(void) {} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm +@@ -0,0 +1,107 @@ ++@ This file was created from a .asm file ++@ using the ads2gas.pl script. ++.syntax unified ++.equ VPX_ARCH_ARM , 0 ++.equ ARCH_ARM , 0 ++.equ VPX_ARCH_AARCH64 , 0 ++.equ ARCH_AARCH64 , 0 ++.equ VPX_ARCH_MIPS , 0 ++.equ ARCH_MIPS , 0 ++.equ VPX_ARCH_X86 , 0 ++.equ ARCH_X86 , 0 ++.equ VPX_ARCH_X86_64 , 0 ++.equ ARCH_X86_64 , 0 ++.equ VPX_ARCH_PPC , 0 ++.equ ARCH_PPC , 0 ++.equ VPX_ARCH_LOONGARCH , 0 ++.equ ARCH_LOONGARCH , 0 ++.equ HAVE_NEON_ASM , 0 ++.equ HAVE_NEON , 0 ++.equ HAVE_NEON_DOTPROD , 0 ++.equ HAVE_NEON_I8MM , 0 ++.equ HAVE_SVE , 0 ++.equ HAVE_MIPS32 , 0 ++.equ HAVE_DSPR2 , 0 ++.equ HAVE_MSA , 0 ++.equ HAVE_MIPS64 , 0 ++.equ HAVE_MMX , 0 ++.equ HAVE_SSE , 0 ++.equ HAVE_SSE2 , 0 ++.equ HAVE_SSE3 , 0 ++.equ HAVE_SSSE3 , 0 ++.equ HAVE_SSE4_1 , 0 ++.equ HAVE_AVX , 0 ++.equ HAVE_AVX2 , 0 ++.equ HAVE_AVX512 , 0 ++.equ HAVE_VSX , 0 ++.equ HAVE_MMI , 0 ++.equ HAVE_LSX , 0 ++.equ HAVE_LASX , 0 ++.equ HAVE_VPX_PORTS , 1 ++.equ HAVE_PTHREAD_H , 1 ++.equ HAVE_UNISTD_H , 0 ++.equ CONFIG_DEPENDENCY_TRACKING , 1 ++.equ CONFIG_EXTERNAL_BUILD , 1 ++.equ CONFIG_INSTALL_DOCS , 0 ++.equ CONFIG_INSTALL_BINS , 1 ++.equ CONFIG_INSTALL_LIBS , 1 ++.equ CONFIG_INSTALL_SRCS , 0 ++.equ CONFIG_DEBUG , 0 ++.equ CONFIG_GPROF , 0 ++.equ CONFIG_GCOV , 0 ++.equ CONFIG_RVCT , 0 ++.equ CONFIG_GCC , 1 ++.equ CONFIG_MSVS , 0 ++.equ CONFIG_PIC , 0 ++.equ CONFIG_BIG_ENDIAN , 0 ++.equ CONFIG_CODEC_SRCS , 0 ++.equ CONFIG_DEBUG_LIBS , 0 ++.equ CONFIG_DEQUANT_TOKENS , 0 ++.equ CONFIG_DC_RECON , 0 ++.equ CONFIG_RUNTIME_CPU_DETECT , 0 ++.equ CONFIG_POSTPROC , 1 ++.equ CONFIG_VP9_POSTPROC , 1 ++.equ CONFIG_MULTITHREAD , 1 ++.equ CONFIG_INTERNAL_STATS , 0 ++.equ CONFIG_VP8_ENCODER , 1 ++.equ CONFIG_VP8_DECODER , 1 ++.equ CONFIG_VP9_ENCODER , 1 ++.equ CONFIG_VP9_DECODER , 1 ++.equ CONFIG_VP8 , 1 ++.equ CONFIG_VP9 , 1 ++.equ CONFIG_ENCODERS , 1 ++.equ CONFIG_DECODERS , 1 ++.equ CONFIG_STATIC_MSVCRT , 0 ++.equ CONFIG_SPATIAL_RESAMPLING , 1 ++.equ CONFIG_REALTIME_ONLY , 1 ++.equ CONFIG_ONTHEFLY_BITPACKING , 0 ++.equ CONFIG_ERROR_CONCEALMENT , 0 ++.equ CONFIG_SHARED , 0 ++.equ CONFIG_STATIC , 1 ++.equ CONFIG_SMALL , 0 ++.equ CONFIG_POSTPROC_VISUALIZER , 0 ++.equ CONFIG_OS_SUPPORT , 1 ++.equ CONFIG_UNIT_TESTS , 1 ++.equ CONFIG_WEBM_IO , 1 ++.equ CONFIG_LIBYUV , 0 ++.equ CONFIG_DECODE_PERF_TESTS , 0 ++.equ CONFIG_ENCODE_PERF_TESTS , 0 ++.equ CONFIG_MULTI_RES_ENCODING , 1 ++.equ CONFIG_TEMPORAL_DENOISING , 1 ++.equ CONFIG_VP9_TEMPORAL_DENOISING , 1 ++.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0 ++.equ CONFIG_VP9_HIGHBITDEPTH , 1 ++.equ CONFIG_BETTER_HW_COMPATIBILITY , 0 ++.equ CONFIG_EXPERIMENTAL , 0 ++.equ CONFIG_SIZE_LIMIT , 1 ++.equ CONFIG_ALWAYS_ADJUST_BPM , 0 ++.equ CONFIG_BITSTREAM_DEBUG , 0 ++.equ CONFIG_MISMATCH_DEBUG , 0 ++.equ CONFIG_FP_MB_STATS , 0 ++.equ CONFIG_EMULATE_HARDWARE , 0 ++.equ CONFIG_NON_GREEDY_MV , 0 ++.equ CONFIG_RATE_CTRL , 0 ++.equ CONFIG_COLLECT_COMPONENT_TIMING , 0 ++.equ DECODE_WIDTH_LIMIT , 16384 ++.equ DECODE_HEIGHT_LIMIT , 16384 ++ .section .note.GNU-stack,"",%progbits +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c +@@ -0,0 +1,10 @@ ++/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ ++/* */ ++/* Use of this source code is governed by a BSD-style license */ ++/* that can be found in the LICENSE file in the root of the source */ ++/* tree. An additional intellectual property rights grant can be found */ ++/* in the file PATENTS. All contributing project authors may */ ++/* be found in the AUTHORS file in the root of the source tree. */ ++#include "vpx/vpx_codec.h" ++static const char* const cfg = "--target=generic-gnu --enable-vp9-highbitdepth --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv"; ++const char *vpx_codec_build_config(void) {return cfg;} +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h +@@ -0,0 +1,116 @@ ++/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ ++/* */ ++/* Use of this source code is governed by a BSD-style license */ ++/* that can be found in the LICENSE file in the root of the source */ ++/* tree. An additional intellectual property rights grant can be found */ ++/* in the file PATENTS. All contributing project authors may */ ++/* be found in the AUTHORS file in the root of the source tree. */ ++/* This file automatically generated by configure. Do not edit! */ ++#ifndef VPX_CONFIG_H ++#define VPX_CONFIG_H ++#define RESTRICT ++#define INLINE inline ++#define VPX_ARCH_ARM 0 ++#define ARCH_ARM 0 ++#define VPX_ARCH_AARCH64 0 ++#define ARCH_AARCH64 0 ++#define VPX_ARCH_MIPS 0 ++#define ARCH_MIPS 0 ++#define VPX_ARCH_X86 0 ++#define ARCH_X86 0 ++#define VPX_ARCH_X86_64 0 ++#define ARCH_X86_64 0 ++#define VPX_ARCH_PPC 0 ++#define ARCH_PPC 0 ++#define VPX_ARCH_LOONGARCH 0 ++#define ARCH_LOONGARCH 0 ++#define HAVE_NEON_ASM 0 ++#define HAVE_NEON 0 ++#define HAVE_NEON_DOTPROD 0 ++#define HAVE_NEON_I8MM 0 ++#define HAVE_SVE 0 ++#define HAVE_MIPS32 0 ++#define HAVE_DSPR2 0 ++#define HAVE_MSA 0 ++#define HAVE_MIPS64 0 ++#define HAVE_MMX 0 ++#define HAVE_SSE 0 ++#define HAVE_SSE2 0 ++#define HAVE_SSE3 0 ++#define HAVE_SSSE3 0 ++#define HAVE_SSE4_1 0 ++#define HAVE_AVX 0 ++#define HAVE_AVX2 0 ++#define HAVE_AVX512 0 ++#define HAVE_VSX 0 ++#define HAVE_MMI 0 ++#define HAVE_LSX 0 ++#define HAVE_LASX 0 ++#define HAVE_VPX_PORTS 1 ++#define HAVE_PTHREAD_H 1 ++#define HAVE_UNISTD_H 0 ++#define CONFIG_DEPENDENCY_TRACKING 1 ++#define CONFIG_EXTERNAL_BUILD 1 ++#define CONFIG_INSTALL_DOCS 0 ++#define CONFIG_INSTALL_BINS 1 ++#define CONFIG_INSTALL_LIBS 1 ++#define CONFIG_INSTALL_SRCS 0 ++#define CONFIG_DEBUG 0 ++#define CONFIG_GPROF 0 ++#define CONFIG_GCOV 0 ++#define CONFIG_RVCT 0 ++#define CONFIG_GCC 1 ++#define CONFIG_MSVS 0 ++#define CONFIG_PIC 0 ++#define CONFIG_BIG_ENDIAN 0 ++#define CONFIG_CODEC_SRCS 0 ++#define CONFIG_DEBUG_LIBS 0 ++#define CONFIG_DEQUANT_TOKENS 0 ++#define CONFIG_DC_RECON 0 ++#define CONFIG_RUNTIME_CPU_DETECT 0 ++#define CONFIG_POSTPROC 1 ++#define CONFIG_VP9_POSTPROC 1 ++#define CONFIG_MULTITHREAD 1 ++#define CONFIG_INTERNAL_STATS 0 ++#define CONFIG_VP8_ENCODER 1 ++#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP9_ENCODER 1 ++#define CONFIG_VP9_DECODER 1 ++#define CONFIG_VP8 1 ++#define CONFIG_VP9 1 ++#define CONFIG_ENCODERS 1 ++#define CONFIG_DECODERS 1 ++#define CONFIG_STATIC_MSVCRT 0 ++#define CONFIG_SPATIAL_RESAMPLING 1 ++#define CONFIG_REALTIME_ONLY 1 ++#define CONFIG_ONTHEFLY_BITPACKING 0 ++#define CONFIG_ERROR_CONCEALMENT 0 ++#define CONFIG_SHARED 0 ++#define CONFIG_STATIC 1 ++#define CONFIG_SMALL 0 ++#define CONFIG_POSTPROC_VISUALIZER 0 ++#define CONFIG_OS_SUPPORT 1 ++#define CONFIG_UNIT_TESTS 1 ++#define CONFIG_WEBM_IO 1 ++#define CONFIG_LIBYUV 0 ++#define CONFIG_DECODE_PERF_TESTS 0 ++#define CONFIG_ENCODE_PERF_TESTS 0 ++#define CONFIG_MULTI_RES_ENCODING 1 ++#define CONFIG_TEMPORAL_DENOISING 1 ++#define CONFIG_VP9_TEMPORAL_DENOISING 1 ++#define CONFIG_COEFFICIENT_RANGE_CHECKING 0 ++#define CONFIG_VP9_HIGHBITDEPTH 1 ++#define CONFIG_BETTER_HW_COMPATIBILITY 0 ++#define CONFIG_EXPERIMENTAL 0 ++#define CONFIG_SIZE_LIMIT 1 ++#define CONFIG_ALWAYS_ADJUST_BPM 0 ++#define CONFIG_BITSTREAM_DEBUG 0 ++#define CONFIG_MISMATCH_DEBUG 0 ++#define CONFIG_FP_MB_STATS 0 ++#define CONFIG_EMULATE_HARDWARE 0 ++#define CONFIG_NON_GREEDY_MV 0 ++#define CONFIG_RATE_CTRL 0 ++#define CONFIG_COLLECT_COMPONENT_TIMING 0 ++#define DECODE_WIDTH_LIMIT 16384 ++#define DECODE_HEIGHT_LIMIT 16384 ++#endif /* VPX_CONFIG_H */ +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h +@@ -0,0 +1,4128 @@ ++// This file is generated. Do not edit. ++#ifndef VPX_DSP_RTCD_H_ ++#define VPX_DSP_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++/* ++ * DSP ++ */ ++ ++#include "vpx/vpx_integer.h" ++#include "vpx_dsp/vpx_dsp_common.h" ++#include "vpx_dsp/vpx_filter.h" ++#if CONFIG_VP9_ENCODER ++struct macroblock_plane; ++struct ScanOrder; ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++unsigned int vpx_avg_4x4_c(const uint8_t*, int p); ++#define vpx_avg_4x4 vpx_avg_4x4_c ++ ++unsigned int vpx_avg_8x8_c(const uint8_t*, int p); ++#define vpx_avg_8x8 vpx_avg_8x8_c ++ ++void vpx_comp_avg_pred_c(uint8_t* comp_pred, ++ const uint8_t* pred, ++ int width, ++ int height, ++ const uint8_t* ref, ++ int ref_stride); ++#define vpx_comp_avg_pred vpx_comp_avg_pred_c ++ ++void vpx_convolve8_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8 vpx_convolve8_c ++ ++void vpx_convolve8_avg_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8_avg vpx_convolve8_avg_c ++ ++void vpx_convolve8_avg_horiz_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_c ++ ++void vpx_convolve8_avg_vert_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_c ++ ++void vpx_convolve8_horiz_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8_horiz vpx_convolve8_horiz_c ++ ++void vpx_convolve8_vert_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve8_vert vpx_convolve8_vert_c ++ ++void vpx_convolve_avg_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve_avg vpx_convolve_avg_c ++ ++void vpx_convolve_copy_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_convolve_copy vpx_convolve_copy_c ++ ++void vpx_d117_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c ++ ++void vpx_d117_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c ++ ++void vpx_d117_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c ++ ++void vpx_d117_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c ++ ++void vpx_d135_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c ++ ++void vpx_d135_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c ++ ++void vpx_d135_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c ++ ++void vpx_d135_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c ++ ++void vpx_d153_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c ++ ++void vpx_d153_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c ++ ++void vpx_d153_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c ++ ++void vpx_d153_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c ++ ++void vpx_d207_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c ++ ++void vpx_d207_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c ++ ++void vpx_d207_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c ++ ++void vpx_d207_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c ++ ++void vpx_d45_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c ++ ++void vpx_d45_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c ++ ++void vpx_d45_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c ++ ++void vpx_d45_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c ++ ++void vpx_d45e_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c ++ ++void vpx_d63_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c ++ ++void vpx_d63_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c ++ ++void vpx_d63_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c ++ ++void vpx_d63_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c ++ ++void vpx_d63e_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c ++ ++void vpx_dc_128_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_c ++ ++void vpx_dc_128_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_c ++ ++void vpx_dc_128_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c ++ ++void vpx_dc_128_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c ++ ++void vpx_dc_left_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_c ++ ++void vpx_dc_left_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_c ++ ++void vpx_dc_left_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c ++ ++void vpx_dc_left_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c ++ ++void vpx_dc_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_c ++ ++void vpx_dc_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_c ++ ++void vpx_dc_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c ++ ++void vpx_dc_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_c ++ ++void vpx_dc_top_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_c ++ ++void vpx_dc_top_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_c ++ ++void vpx_dc_top_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c ++ ++void vpx_dc_top_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c ++ ++void vpx_fdct16x16_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct16x16 vpx_fdct16x16_c ++ ++void vpx_fdct16x16_1_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct16x16_1 vpx_fdct16x16_1_c ++ ++void vpx_fdct32x32_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct32x32 vpx_fdct32x32_c ++ ++void vpx_fdct32x32_1_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct32x32_1 vpx_fdct32x32_1_c ++ ++void vpx_fdct32x32_rd_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c ++ ++void vpx_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct4x4 vpx_fdct4x4_c ++ ++void vpx_fdct4x4_1_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct4x4_1 vpx_fdct4x4_1_c ++ ++void vpx_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct8x8 vpx_fdct8x8_c ++ ++void vpx_fdct8x8_1_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_fdct8x8_1 vpx_fdct8x8_1_c ++ ++void vpx_get16x16var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_get16x16var vpx_get16x16var_c ++ ++unsigned int vpx_get4x4sse_cs_c(const unsigned char* src_ptr, ++ int src_stride, ++ const unsigned char* ref_ptr, ++ int ref_stride); ++#define vpx_get4x4sse_cs vpx_get4x4sse_cs_c ++ ++void vpx_get8x8var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_get8x8var vpx_get8x8var_c ++ ++unsigned int vpx_get_mb_ss_c(const int16_t*); ++#define vpx_get_mb_ss vpx_get_mb_ss_c ++ ++void vpx_h_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_c ++ ++void vpx_h_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_c ++ ++void vpx_h_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c ++ ++void vpx_h_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c ++ ++void vpx_hadamard_16x16_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_hadamard_16x16 vpx_hadamard_16x16_c ++ ++void vpx_hadamard_32x32_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_hadamard_32x32 vpx_hadamard_32x32_c ++ ++void vpx_hadamard_8x8_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_hadamard_8x8 vpx_hadamard_8x8_c ++ ++void vpx_he_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c ++ ++void vpx_highbd_10_get16x16var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_10_get16x16var vpx_highbd_10_get16x16var_c ++ ++void vpx_highbd_10_get8x8var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_10_get8x8var vpx_highbd_10_get8x8var_c ++ ++unsigned int vpx_highbd_10_mse16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_mse16x16 vpx_highbd_10_mse16x16_c ++ ++unsigned int vpx_highbd_10_mse16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_mse16x8 vpx_highbd_10_mse16x8_c ++ ++unsigned int vpx_highbd_10_mse8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_mse8x16 vpx_highbd_10_mse8x16_c ++ ++unsigned int vpx_highbd_10_mse8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_mse8x8 vpx_highbd_10_mse8x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance16x16 \ ++ vpx_highbd_10_sub_pixel_avg_variance16x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance16x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance16x32 \ ++ vpx_highbd_10_sub_pixel_avg_variance16x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance16x8 \ ++ vpx_highbd_10_sub_pixel_avg_variance16x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance32x16_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance32x16 \ ++ vpx_highbd_10_sub_pixel_avg_variance32x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance32x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance32x32 \ ++ vpx_highbd_10_sub_pixel_avg_variance32x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance32x64_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance32x64 \ ++ vpx_highbd_10_sub_pixel_avg_variance32x64_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance4x4 \ ++ vpx_highbd_10_sub_pixel_avg_variance4x4_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance4x8 \ ++ vpx_highbd_10_sub_pixel_avg_variance4x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance64x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance64x32 \ ++ vpx_highbd_10_sub_pixel_avg_variance64x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance64x64_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance64x64 \ ++ vpx_highbd_10_sub_pixel_avg_variance64x64_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance8x16 \ ++ vpx_highbd_10_sub_pixel_avg_variance8x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance8x4 \ ++ vpx_highbd_10_sub_pixel_avg_variance8x4_c ++ ++uint32_t vpx_highbd_10_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_10_sub_pixel_avg_variance8x8 \ ++ vpx_highbd_10_sub_pixel_avg_variance8x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance16x16 \ ++ vpx_highbd_10_sub_pixel_variance16x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance16x32 \ ++ vpx_highbd_10_sub_pixel_variance16x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance16x8 \ ++ vpx_highbd_10_sub_pixel_variance16x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance32x16 \ ++ vpx_highbd_10_sub_pixel_variance32x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance32x32 \ ++ vpx_highbd_10_sub_pixel_variance32x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance32x64 \ ++ vpx_highbd_10_sub_pixel_variance32x64_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance4x4 \ ++ vpx_highbd_10_sub_pixel_variance4x4_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance4x8 \ ++ vpx_highbd_10_sub_pixel_variance4x8_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance64x32 \ ++ vpx_highbd_10_sub_pixel_variance64x32_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance64x64 \ ++ vpx_highbd_10_sub_pixel_variance64x64_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance8x16 \ ++ vpx_highbd_10_sub_pixel_variance8x16_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance8x4 \ ++ vpx_highbd_10_sub_pixel_variance8x4_c ++ ++uint32_t vpx_highbd_10_sub_pixel_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_10_sub_pixel_variance8x8 \ ++ vpx_highbd_10_sub_pixel_variance8x8_c ++ ++unsigned int vpx_highbd_10_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance16x16 vpx_highbd_10_variance16x16_c ++ ++unsigned int vpx_highbd_10_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance16x32 vpx_highbd_10_variance16x32_c ++ ++unsigned int vpx_highbd_10_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance16x8 vpx_highbd_10_variance16x8_c ++ ++unsigned int vpx_highbd_10_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance32x16 vpx_highbd_10_variance32x16_c ++ ++unsigned int vpx_highbd_10_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance32x32 vpx_highbd_10_variance32x32_c ++ ++unsigned int vpx_highbd_10_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance32x64 vpx_highbd_10_variance32x64_c ++ ++unsigned int vpx_highbd_10_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance4x4 vpx_highbd_10_variance4x4_c ++ ++unsigned int vpx_highbd_10_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance4x8 vpx_highbd_10_variance4x8_c ++ ++unsigned int vpx_highbd_10_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance64x32 vpx_highbd_10_variance64x32_c ++ ++unsigned int vpx_highbd_10_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance64x64 vpx_highbd_10_variance64x64_c ++ ++unsigned int vpx_highbd_10_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance8x16 vpx_highbd_10_variance8x16_c ++ ++unsigned int vpx_highbd_10_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance8x4 vpx_highbd_10_variance8x4_c ++ ++unsigned int vpx_highbd_10_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_10_variance8x8 vpx_highbd_10_variance8x8_c ++ ++void vpx_highbd_12_get16x16var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_12_get16x16var vpx_highbd_12_get16x16var_c ++ ++void vpx_highbd_12_get8x8var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_12_get8x8var vpx_highbd_12_get8x8var_c ++ ++unsigned int vpx_highbd_12_mse16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_mse16x16 vpx_highbd_12_mse16x16_c ++ ++unsigned int vpx_highbd_12_mse16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_mse16x8 vpx_highbd_12_mse16x8_c ++ ++unsigned int vpx_highbd_12_mse8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_mse8x16 vpx_highbd_12_mse8x16_c ++ ++unsigned int vpx_highbd_12_mse8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_mse8x8 vpx_highbd_12_mse8x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance16x16 \ ++ vpx_highbd_12_sub_pixel_avg_variance16x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance16x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance16x32 \ ++ vpx_highbd_12_sub_pixel_avg_variance16x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance16x8 \ ++ vpx_highbd_12_sub_pixel_avg_variance16x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance32x16_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance32x16 \ ++ vpx_highbd_12_sub_pixel_avg_variance32x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance32x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance32x32 \ ++ vpx_highbd_12_sub_pixel_avg_variance32x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance32x64_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance32x64 \ ++ vpx_highbd_12_sub_pixel_avg_variance32x64_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance4x4 \ ++ vpx_highbd_12_sub_pixel_avg_variance4x4_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance4x8 \ ++ vpx_highbd_12_sub_pixel_avg_variance4x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance64x32_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance64x32 \ ++ vpx_highbd_12_sub_pixel_avg_variance64x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance64x64_c( ++ const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance64x64 \ ++ vpx_highbd_12_sub_pixel_avg_variance64x64_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance8x16 \ ++ vpx_highbd_12_sub_pixel_avg_variance8x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance8x4 \ ++ vpx_highbd_12_sub_pixel_avg_variance8x4_c ++ ++uint32_t vpx_highbd_12_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_12_sub_pixel_avg_variance8x8 \ ++ vpx_highbd_12_sub_pixel_avg_variance8x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance16x16 \ ++ vpx_highbd_12_sub_pixel_variance16x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance16x32 \ ++ vpx_highbd_12_sub_pixel_variance16x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance16x8 \ ++ vpx_highbd_12_sub_pixel_variance16x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance32x16 \ ++ vpx_highbd_12_sub_pixel_variance32x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance32x32 \ ++ vpx_highbd_12_sub_pixel_variance32x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance32x64 \ ++ vpx_highbd_12_sub_pixel_variance32x64_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance4x4 \ ++ vpx_highbd_12_sub_pixel_variance4x4_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance4x8 \ ++ vpx_highbd_12_sub_pixel_variance4x8_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance64x32 \ ++ vpx_highbd_12_sub_pixel_variance64x32_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance64x64 \ ++ vpx_highbd_12_sub_pixel_variance64x64_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance8x16 \ ++ vpx_highbd_12_sub_pixel_variance8x16_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance8x4 \ ++ vpx_highbd_12_sub_pixel_variance8x4_c ++ ++uint32_t vpx_highbd_12_sub_pixel_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_12_sub_pixel_variance8x8 \ ++ vpx_highbd_12_sub_pixel_variance8x8_c ++ ++unsigned int vpx_highbd_12_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance16x16 vpx_highbd_12_variance16x16_c ++ ++unsigned int vpx_highbd_12_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance16x32 vpx_highbd_12_variance16x32_c ++ ++unsigned int vpx_highbd_12_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance16x8 vpx_highbd_12_variance16x8_c ++ ++unsigned int vpx_highbd_12_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance32x16 vpx_highbd_12_variance32x16_c ++ ++unsigned int vpx_highbd_12_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance32x32 vpx_highbd_12_variance32x32_c ++ ++unsigned int vpx_highbd_12_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance32x64 vpx_highbd_12_variance32x64_c ++ ++unsigned int vpx_highbd_12_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance4x4 vpx_highbd_12_variance4x4_c ++ ++unsigned int vpx_highbd_12_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance4x8 vpx_highbd_12_variance4x8_c ++ ++unsigned int vpx_highbd_12_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance64x32 vpx_highbd_12_variance64x32_c ++ ++unsigned int vpx_highbd_12_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance64x64 vpx_highbd_12_variance64x64_c ++ ++unsigned int vpx_highbd_12_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance8x16 vpx_highbd_12_variance8x16_c ++ ++unsigned int vpx_highbd_12_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance8x4 vpx_highbd_12_variance8x4_c ++ ++unsigned int vpx_highbd_12_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_12_variance8x8 vpx_highbd_12_variance8x8_c ++ ++void vpx_highbd_8_get16x16var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_8_get16x16var vpx_highbd_8_get16x16var_c ++ ++void vpx_highbd_8_get8x8var_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse, ++ int* sum); ++#define vpx_highbd_8_get8x8var vpx_highbd_8_get8x8var_c ++ ++unsigned int vpx_highbd_8_mse16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_mse16x16 vpx_highbd_8_mse16x16_c ++ ++unsigned int vpx_highbd_8_mse16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_mse16x8 vpx_highbd_8_mse16x8_c ++ ++unsigned int vpx_highbd_8_mse8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_mse8x16 vpx_highbd_8_mse8x16_c ++ ++unsigned int vpx_highbd_8_mse8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_mse8x8 vpx_highbd_8_mse8x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance16x16 \ ++ vpx_highbd_8_sub_pixel_avg_variance16x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance16x32 \ ++ vpx_highbd_8_sub_pixel_avg_variance16x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance16x8 \ ++ vpx_highbd_8_sub_pixel_avg_variance16x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance32x16 \ ++ vpx_highbd_8_sub_pixel_avg_variance32x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance32x32 \ ++ vpx_highbd_8_sub_pixel_avg_variance32x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance32x64 \ ++ vpx_highbd_8_sub_pixel_avg_variance32x64_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance4x4 \ ++ vpx_highbd_8_sub_pixel_avg_variance4x4_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance4x8 \ ++ vpx_highbd_8_sub_pixel_avg_variance4x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance64x32 \ ++ vpx_highbd_8_sub_pixel_avg_variance64x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance64x64 \ ++ vpx_highbd_8_sub_pixel_avg_variance64x64_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance8x16 \ ++ vpx_highbd_8_sub_pixel_avg_variance8x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance8x4 \ ++ vpx_highbd_8_sub_pixel_avg_variance8x4_c ++ ++uint32_t vpx_highbd_8_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_highbd_8_sub_pixel_avg_variance8x8 \ ++ vpx_highbd_8_sub_pixel_avg_variance8x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance16x16 \ ++ vpx_highbd_8_sub_pixel_variance16x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance16x32 \ ++ vpx_highbd_8_sub_pixel_variance16x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance16x8 \ ++ vpx_highbd_8_sub_pixel_variance16x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance32x16 \ ++ vpx_highbd_8_sub_pixel_variance32x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance32x32 \ ++ vpx_highbd_8_sub_pixel_variance32x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance32x64 \ ++ vpx_highbd_8_sub_pixel_variance32x64_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance4x4 vpx_highbd_8_sub_pixel_variance4x4_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance4x8 vpx_highbd_8_sub_pixel_variance4x8_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance64x32 \ ++ vpx_highbd_8_sub_pixel_variance64x32_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance64x64 \ ++ vpx_highbd_8_sub_pixel_variance64x64_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance8x16 \ ++ vpx_highbd_8_sub_pixel_variance8x16_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance8x4 vpx_highbd_8_sub_pixel_variance8x4_c ++ ++uint32_t vpx_highbd_8_sub_pixel_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_highbd_8_sub_pixel_variance8x8 vpx_highbd_8_sub_pixel_variance8x8_c ++ ++unsigned int vpx_highbd_8_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance16x16 vpx_highbd_8_variance16x16_c ++ ++unsigned int vpx_highbd_8_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance16x32 vpx_highbd_8_variance16x32_c ++ ++unsigned int vpx_highbd_8_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance16x8 vpx_highbd_8_variance16x8_c ++ ++unsigned int vpx_highbd_8_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance32x16 vpx_highbd_8_variance32x16_c ++ ++unsigned int vpx_highbd_8_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance32x32 vpx_highbd_8_variance32x32_c ++ ++unsigned int vpx_highbd_8_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance32x64 vpx_highbd_8_variance32x64_c ++ ++unsigned int vpx_highbd_8_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance4x4 vpx_highbd_8_variance4x4_c ++ ++unsigned int vpx_highbd_8_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance4x8 vpx_highbd_8_variance4x8_c ++ ++unsigned int vpx_highbd_8_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance64x32 vpx_highbd_8_variance64x32_c ++ ++unsigned int vpx_highbd_8_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance64x64 vpx_highbd_8_variance64x64_c ++ ++unsigned int vpx_highbd_8_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance8x16 vpx_highbd_8_variance8x16_c ++ ++unsigned int vpx_highbd_8_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance8x4 vpx_highbd_8_variance8x4_c ++ ++unsigned int vpx_highbd_8_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_highbd_8_variance8x8 vpx_highbd_8_variance8x8_c ++ ++unsigned int vpx_highbd_avg_4x4_c(const uint8_t* s8, int p); ++#define vpx_highbd_avg_4x4 vpx_highbd_avg_4x4_c ++ ++unsigned int vpx_highbd_avg_8x8_c(const uint8_t* s8, int p); ++#define vpx_highbd_avg_8x8 vpx_highbd_avg_8x8_c ++ ++void vpx_highbd_comp_avg_pred_c(uint16_t* comp_pred, ++ const uint16_t* pred, ++ int width, ++ int height, ++ const uint16_t* ref, ++ int ref_stride); ++#define vpx_highbd_comp_avg_pred vpx_highbd_comp_avg_pred_c ++ ++void vpx_highbd_convolve8_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8 vpx_highbd_convolve8_c ++ ++void vpx_highbd_convolve8_avg_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8_avg vpx_highbd_convolve8_avg_c ++ ++void vpx_highbd_convolve8_avg_horiz_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8_avg_horiz vpx_highbd_convolve8_avg_horiz_c ++ ++void vpx_highbd_convolve8_avg_vert_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8_avg_vert vpx_highbd_convolve8_avg_vert_c ++ ++void vpx_highbd_convolve8_horiz_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8_horiz vpx_highbd_convolve8_horiz_c ++ ++void vpx_highbd_convolve8_vert_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve8_vert vpx_highbd_convolve8_vert_c ++ ++void vpx_highbd_convolve_avg_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve_avg vpx_highbd_convolve_avg_c ++ ++void vpx_highbd_convolve_copy_c(const uint16_t* src, ++ ptrdiff_t src_stride, ++ uint16_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h, ++ int bd); ++#define vpx_highbd_convolve_copy vpx_highbd_convolve_copy_c ++ ++void vpx_highbd_d117_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d117_predictor_16x16 vpx_highbd_d117_predictor_16x16_c ++ ++void vpx_highbd_d117_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d117_predictor_32x32 vpx_highbd_d117_predictor_32x32_c ++ ++void vpx_highbd_d117_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d117_predictor_4x4 vpx_highbd_d117_predictor_4x4_c ++ ++void vpx_highbd_d117_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d117_predictor_8x8 vpx_highbd_d117_predictor_8x8_c ++ ++void vpx_highbd_d135_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d135_predictor_16x16 vpx_highbd_d135_predictor_16x16_c ++ ++void vpx_highbd_d135_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d135_predictor_32x32 vpx_highbd_d135_predictor_32x32_c ++ ++void vpx_highbd_d135_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d135_predictor_4x4 vpx_highbd_d135_predictor_4x4_c ++ ++void vpx_highbd_d135_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d135_predictor_8x8 vpx_highbd_d135_predictor_8x8_c ++ ++void vpx_highbd_d153_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d153_predictor_16x16 vpx_highbd_d153_predictor_16x16_c ++ ++void vpx_highbd_d153_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d153_predictor_32x32 vpx_highbd_d153_predictor_32x32_c ++ ++void vpx_highbd_d153_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d153_predictor_4x4 vpx_highbd_d153_predictor_4x4_c ++ ++void vpx_highbd_d153_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d153_predictor_8x8 vpx_highbd_d153_predictor_8x8_c ++ ++void vpx_highbd_d207_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d207_predictor_16x16 vpx_highbd_d207_predictor_16x16_c ++ ++void vpx_highbd_d207_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d207_predictor_32x32 vpx_highbd_d207_predictor_32x32_c ++ ++void vpx_highbd_d207_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d207_predictor_4x4 vpx_highbd_d207_predictor_4x4_c ++ ++void vpx_highbd_d207_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d207_predictor_8x8 vpx_highbd_d207_predictor_8x8_c ++ ++void vpx_highbd_d45_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d45_predictor_16x16 vpx_highbd_d45_predictor_16x16_c ++ ++void vpx_highbd_d45_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d45_predictor_32x32 vpx_highbd_d45_predictor_32x32_c ++ ++void vpx_highbd_d45_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d45_predictor_4x4 vpx_highbd_d45_predictor_4x4_c ++ ++void vpx_highbd_d45_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d45_predictor_8x8 vpx_highbd_d45_predictor_8x8_c ++ ++void vpx_highbd_d63_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d63_predictor_16x16 vpx_highbd_d63_predictor_16x16_c ++ ++void vpx_highbd_d63_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d63_predictor_32x32 vpx_highbd_d63_predictor_32x32_c ++ ++void vpx_highbd_d63_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d63_predictor_4x4 vpx_highbd_d63_predictor_4x4_c ++ ++void vpx_highbd_d63_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_d63_predictor_8x8 vpx_highbd_d63_predictor_8x8_c ++ ++void vpx_highbd_dc_128_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_128_predictor_16x16 vpx_highbd_dc_128_predictor_16x16_c ++ ++void vpx_highbd_dc_128_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_128_predictor_32x32 vpx_highbd_dc_128_predictor_32x32_c ++ ++void vpx_highbd_dc_128_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_128_predictor_4x4 vpx_highbd_dc_128_predictor_4x4_c ++ ++void vpx_highbd_dc_128_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_128_predictor_8x8 vpx_highbd_dc_128_predictor_8x8_c ++ ++void vpx_highbd_dc_left_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_left_predictor_16x16 vpx_highbd_dc_left_predictor_16x16_c ++ ++void vpx_highbd_dc_left_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_left_predictor_32x32 vpx_highbd_dc_left_predictor_32x32_c ++ ++void vpx_highbd_dc_left_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_left_predictor_4x4 vpx_highbd_dc_left_predictor_4x4_c ++ ++void vpx_highbd_dc_left_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_left_predictor_8x8 vpx_highbd_dc_left_predictor_8x8_c ++ ++void vpx_highbd_dc_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_predictor_16x16 vpx_highbd_dc_predictor_16x16_c ++ ++void vpx_highbd_dc_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_predictor_32x32 vpx_highbd_dc_predictor_32x32_c ++ ++void vpx_highbd_dc_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_predictor_4x4 vpx_highbd_dc_predictor_4x4_c ++ ++void vpx_highbd_dc_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_predictor_8x8 vpx_highbd_dc_predictor_8x8_c ++ ++void vpx_highbd_dc_top_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_top_predictor_16x16 vpx_highbd_dc_top_predictor_16x16_c ++ ++void vpx_highbd_dc_top_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_top_predictor_32x32 vpx_highbd_dc_top_predictor_32x32_c ++ ++void vpx_highbd_dc_top_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_top_predictor_4x4 vpx_highbd_dc_top_predictor_4x4_c ++ ++void vpx_highbd_dc_top_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_dc_top_predictor_8x8 vpx_highbd_dc_top_predictor_8x8_c ++ ++void vpx_highbd_fdct16x16_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct16x16 vpx_highbd_fdct16x16_c ++ ++void vpx_highbd_fdct16x16_1_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct16x16_1 vpx_highbd_fdct16x16_1_c ++ ++void vpx_highbd_fdct32x32_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct32x32 vpx_highbd_fdct32x32_c ++ ++void vpx_highbd_fdct32x32_1_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct32x32_1 vpx_highbd_fdct32x32_1_c ++ ++void vpx_highbd_fdct32x32_rd_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct32x32_rd vpx_highbd_fdct32x32_rd_c ++ ++void vpx_highbd_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_highbd_fdct4x4 vpx_highbd_fdct4x4_c ++ ++void vpx_highbd_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride); ++#define vpx_highbd_fdct8x8 vpx_highbd_fdct8x8_c ++ ++void vpx_highbd_fdct8x8_1_c(const int16_t* input, ++ tran_low_t* output, ++ int stride); ++#define vpx_highbd_fdct8x8_1 vpx_highbd_fdct8x8_1_c ++ ++void vpx_highbd_h_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_h_predictor_16x16 vpx_highbd_h_predictor_16x16_c ++ ++void vpx_highbd_h_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_h_predictor_32x32 vpx_highbd_h_predictor_32x32_c ++ ++void vpx_highbd_h_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_h_predictor_4x4 vpx_highbd_h_predictor_4x4_c ++ ++void vpx_highbd_h_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_h_predictor_8x8 vpx_highbd_h_predictor_8x8_c ++ ++void vpx_highbd_hadamard_16x16_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_highbd_hadamard_16x16 vpx_highbd_hadamard_16x16_c ++ ++void vpx_highbd_hadamard_32x32_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_highbd_hadamard_32x32 vpx_highbd_hadamard_32x32_c ++ ++void vpx_highbd_hadamard_8x8_c(const int16_t* src_diff, ++ ptrdiff_t src_stride, ++ tran_low_t* coeff); ++#define vpx_highbd_hadamard_8x8 vpx_highbd_hadamard_8x8_c ++ ++void vpx_highbd_idct16x16_10_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct16x16_10_add vpx_highbd_idct16x16_10_add_c ++ ++void vpx_highbd_idct16x16_1_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct16x16_1_add vpx_highbd_idct16x16_1_add_c ++ ++void vpx_highbd_idct16x16_256_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct16x16_256_add vpx_highbd_idct16x16_256_add_c ++ ++void vpx_highbd_idct16x16_38_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct16x16_38_add vpx_highbd_idct16x16_38_add_c ++ ++void vpx_highbd_idct32x32_1024_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct32x32_1024_add vpx_highbd_idct32x32_1024_add_c ++ ++void vpx_highbd_idct32x32_135_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct32x32_135_add vpx_highbd_idct32x32_135_add_c ++ ++void vpx_highbd_idct32x32_1_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct32x32_1_add vpx_highbd_idct32x32_1_add_c ++ ++void vpx_highbd_idct32x32_34_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct32x32_34_add vpx_highbd_idct32x32_34_add_c ++ ++void vpx_highbd_idct4x4_16_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct4x4_16_add vpx_highbd_idct4x4_16_add_c ++ ++void vpx_highbd_idct4x4_1_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct4x4_1_add vpx_highbd_idct4x4_1_add_c ++ ++void vpx_highbd_idct8x8_12_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct8x8_12_add vpx_highbd_idct8x8_12_add_c ++ ++void vpx_highbd_idct8x8_1_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct8x8_1_add vpx_highbd_idct8x8_1_add_c ++ ++void vpx_highbd_idct8x8_64_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_idct8x8_64_add vpx_highbd_idct8x8_64_add_c ++ ++void vpx_highbd_iwht4x4_16_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_iwht4x4_16_add vpx_highbd_iwht4x4_16_add_c ++ ++void vpx_highbd_iwht4x4_1_add_c(const tran_low_t* input, ++ uint16_t* dest, ++ int stride, ++ int bd); ++#define vpx_highbd_iwht4x4_1_add vpx_highbd_iwht4x4_1_add_c ++ ++void vpx_highbd_lpf_horizontal_16_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_horizontal_16 vpx_highbd_lpf_horizontal_16_c ++ ++void vpx_highbd_lpf_horizontal_16_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_horizontal_16_dual vpx_highbd_lpf_horizontal_16_dual_c ++ ++void vpx_highbd_lpf_horizontal_4_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_horizontal_4 vpx_highbd_lpf_horizontal_4_c ++ ++void vpx_highbd_lpf_horizontal_4_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1, ++ int bd); ++#define vpx_highbd_lpf_horizontal_4_dual vpx_highbd_lpf_horizontal_4_dual_c ++ ++void vpx_highbd_lpf_horizontal_8_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_horizontal_8 vpx_highbd_lpf_horizontal_8_c ++ ++void vpx_highbd_lpf_horizontal_8_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1, ++ int bd); ++#define vpx_highbd_lpf_horizontal_8_dual vpx_highbd_lpf_horizontal_8_dual_c ++ ++void vpx_highbd_lpf_vertical_16_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_vertical_16 vpx_highbd_lpf_vertical_16_c ++ ++void vpx_highbd_lpf_vertical_16_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_vertical_16_dual vpx_highbd_lpf_vertical_16_dual_c ++ ++void vpx_highbd_lpf_vertical_4_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_vertical_4 vpx_highbd_lpf_vertical_4_c ++ ++void vpx_highbd_lpf_vertical_4_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1, ++ int bd); ++#define vpx_highbd_lpf_vertical_4_dual vpx_highbd_lpf_vertical_4_dual_c ++ ++void vpx_highbd_lpf_vertical_8_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh, ++ int bd); ++#define vpx_highbd_lpf_vertical_8 vpx_highbd_lpf_vertical_8_c ++ ++void vpx_highbd_lpf_vertical_8_dual_c(uint16_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1, ++ int bd); ++#define vpx_highbd_lpf_vertical_8_dual vpx_highbd_lpf_vertical_8_dual_c ++ ++void vpx_highbd_minmax_8x8_c(const uint8_t* s8, ++ int p, ++ const uint8_t* d8, ++ int dp, ++ int* min, ++ int* max); ++#define vpx_highbd_minmax_8x8 vpx_highbd_minmax_8x8_c ++ ++void vpx_highbd_quantize_b_c(const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vpx_highbd_quantize_b vpx_highbd_quantize_b_c ++ ++void vpx_highbd_quantize_b_32x32_c( ++ const tran_low_t* coeff_ptr, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vpx_highbd_quantize_b_32x32 vpx_highbd_quantize_b_32x32_c ++ ++unsigned int vpx_highbd_sad16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad16x16 vpx_highbd_sad16x16_c ++ ++unsigned int vpx_highbd_sad16x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad16x16_avg vpx_highbd_sad16x16_avg_c ++ ++void vpx_highbd_sad16x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad16x16x4d vpx_highbd_sad16x16x4d_c ++ ++unsigned int vpx_highbd_sad16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad16x32 vpx_highbd_sad16x32_c ++ ++unsigned int vpx_highbd_sad16x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad16x32_avg vpx_highbd_sad16x32_avg_c ++ ++void vpx_highbd_sad16x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad16x32x4d vpx_highbd_sad16x32x4d_c ++ ++unsigned int vpx_highbd_sad16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad16x8 vpx_highbd_sad16x8_c ++ ++unsigned int vpx_highbd_sad16x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad16x8_avg vpx_highbd_sad16x8_avg_c ++ ++void vpx_highbd_sad16x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad16x8x4d vpx_highbd_sad16x8x4d_c ++ ++unsigned int vpx_highbd_sad32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad32x16 vpx_highbd_sad32x16_c ++ ++unsigned int vpx_highbd_sad32x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad32x16_avg vpx_highbd_sad32x16_avg_c ++ ++void vpx_highbd_sad32x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad32x16x4d vpx_highbd_sad32x16x4d_c ++ ++unsigned int vpx_highbd_sad32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad32x32 vpx_highbd_sad32x32_c ++ ++unsigned int vpx_highbd_sad32x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad32x32_avg vpx_highbd_sad32x32_avg_c ++ ++void vpx_highbd_sad32x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad32x32x4d vpx_highbd_sad32x32x4d_c ++ ++unsigned int vpx_highbd_sad32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad32x64 vpx_highbd_sad32x64_c ++ ++unsigned int vpx_highbd_sad32x64_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad32x64_avg vpx_highbd_sad32x64_avg_c ++ ++void vpx_highbd_sad32x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad32x64x4d vpx_highbd_sad32x64x4d_c ++ ++unsigned int vpx_highbd_sad4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad4x4 vpx_highbd_sad4x4_c ++ ++unsigned int vpx_highbd_sad4x4_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad4x4_avg vpx_highbd_sad4x4_avg_c ++ ++void vpx_highbd_sad4x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad4x4x4d vpx_highbd_sad4x4x4d_c ++ ++unsigned int vpx_highbd_sad4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad4x8 vpx_highbd_sad4x8_c ++ ++unsigned int vpx_highbd_sad4x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad4x8_avg vpx_highbd_sad4x8_avg_c ++ ++void vpx_highbd_sad4x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad4x8x4d vpx_highbd_sad4x8x4d_c ++ ++unsigned int vpx_highbd_sad64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad64x32 vpx_highbd_sad64x32_c ++ ++unsigned int vpx_highbd_sad64x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad64x32_avg vpx_highbd_sad64x32_avg_c ++ ++void vpx_highbd_sad64x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad64x32x4d vpx_highbd_sad64x32x4d_c ++ ++unsigned int vpx_highbd_sad64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad64x64 vpx_highbd_sad64x64_c ++ ++unsigned int vpx_highbd_sad64x64_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad64x64_avg vpx_highbd_sad64x64_avg_c ++ ++void vpx_highbd_sad64x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad64x64x4d vpx_highbd_sad64x64x4d_c ++ ++unsigned int vpx_highbd_sad8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad8x16 vpx_highbd_sad8x16_c ++ ++unsigned int vpx_highbd_sad8x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad8x16_avg vpx_highbd_sad8x16_avg_c ++ ++void vpx_highbd_sad8x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad8x16x4d vpx_highbd_sad8x16x4d_c ++ ++unsigned int vpx_highbd_sad8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad8x4 vpx_highbd_sad8x4_c ++ ++unsigned int vpx_highbd_sad8x4_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad8x4_avg vpx_highbd_sad8x4_avg_c ++ ++void vpx_highbd_sad8x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad8x4x4d vpx_highbd_sad8x4x4d_c ++ ++unsigned int vpx_highbd_sad8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad8x8 vpx_highbd_sad8x8_c ++ ++unsigned int vpx_highbd_sad8x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_highbd_sad8x8_avg vpx_highbd_sad8x8_avg_c ++ ++void vpx_highbd_sad8x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad8x8x4d vpx_highbd_sad8x8x4d_c ++ ++unsigned int vpx_highbd_sad_skip_16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_16x16 vpx_highbd_sad_skip_16x16_c ++ ++void vpx_highbd_sad_skip_16x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_16x16x4d vpx_highbd_sad_skip_16x16x4d_c ++ ++unsigned int vpx_highbd_sad_skip_16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_16x32 vpx_highbd_sad_skip_16x32_c ++ ++void vpx_highbd_sad_skip_16x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_16x32x4d vpx_highbd_sad_skip_16x32x4d_c ++ ++unsigned int vpx_highbd_sad_skip_16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_16x8 vpx_highbd_sad_skip_16x8_c ++ ++void vpx_highbd_sad_skip_16x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_16x8x4d vpx_highbd_sad_skip_16x8x4d_c ++ ++unsigned int vpx_highbd_sad_skip_32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_32x16 vpx_highbd_sad_skip_32x16_c ++ ++void vpx_highbd_sad_skip_32x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_32x16x4d vpx_highbd_sad_skip_32x16x4d_c ++ ++unsigned int vpx_highbd_sad_skip_32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_32x32 vpx_highbd_sad_skip_32x32_c ++ ++void vpx_highbd_sad_skip_32x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_32x32x4d vpx_highbd_sad_skip_32x32x4d_c ++ ++unsigned int vpx_highbd_sad_skip_32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_32x64 vpx_highbd_sad_skip_32x64_c ++ ++void vpx_highbd_sad_skip_32x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_32x64x4d vpx_highbd_sad_skip_32x64x4d_c ++ ++unsigned int vpx_highbd_sad_skip_4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_4x4 vpx_highbd_sad_skip_4x4_c ++ ++void vpx_highbd_sad_skip_4x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_4x4x4d vpx_highbd_sad_skip_4x4x4d_c ++ ++unsigned int vpx_highbd_sad_skip_4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_4x8 vpx_highbd_sad_skip_4x8_c ++ ++void vpx_highbd_sad_skip_4x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_4x8x4d vpx_highbd_sad_skip_4x8x4d_c ++ ++unsigned int vpx_highbd_sad_skip_64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_64x32 vpx_highbd_sad_skip_64x32_c ++ ++void vpx_highbd_sad_skip_64x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_64x32x4d vpx_highbd_sad_skip_64x32x4d_c ++ ++unsigned int vpx_highbd_sad_skip_64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_64x64 vpx_highbd_sad_skip_64x64_c ++ ++void vpx_highbd_sad_skip_64x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_64x64x4d vpx_highbd_sad_skip_64x64x4d_c ++ ++unsigned int vpx_highbd_sad_skip_8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_8x16 vpx_highbd_sad_skip_8x16_c ++ ++void vpx_highbd_sad_skip_8x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_8x16x4d vpx_highbd_sad_skip_8x16x4d_c ++ ++unsigned int vpx_highbd_sad_skip_8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_8x4 vpx_highbd_sad_skip_8x4_c ++ ++void vpx_highbd_sad_skip_8x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_8x4x4d vpx_highbd_sad_skip_8x4x4d_c ++ ++unsigned int vpx_highbd_sad_skip_8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_highbd_sad_skip_8x8 vpx_highbd_sad_skip_8x8_c ++ ++void vpx_highbd_sad_skip_8x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_highbd_sad_skip_8x8x4d vpx_highbd_sad_skip_8x8x4d_c ++ ++int vpx_highbd_satd_c(const tran_low_t* coeff, int length); ++#define vpx_highbd_satd vpx_highbd_satd_c ++ ++int64_t vpx_highbd_sse_c(const uint8_t* a8, ++ int a_stride, ++ const uint8_t* b8, ++ int b_stride, ++ int width, ++ int height); ++#define vpx_highbd_sse vpx_highbd_sse_c ++ ++void vpx_highbd_subtract_block_c(int rows, ++ int cols, ++ int16_t* diff_ptr, ++ ptrdiff_t diff_stride, ++ const uint8_t* src8_ptr, ++ ptrdiff_t src_stride, ++ const uint8_t* pred8_ptr, ++ ptrdiff_t pred_stride, ++ int bd); ++#define vpx_highbd_subtract_block vpx_highbd_subtract_block_c ++ ++void vpx_highbd_tm_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_tm_predictor_16x16 vpx_highbd_tm_predictor_16x16_c ++ ++void vpx_highbd_tm_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_tm_predictor_32x32 vpx_highbd_tm_predictor_32x32_c ++ ++void vpx_highbd_tm_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_tm_predictor_4x4 vpx_highbd_tm_predictor_4x4_c ++ ++void vpx_highbd_tm_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_tm_predictor_8x8 vpx_highbd_tm_predictor_8x8_c ++ ++void vpx_highbd_v_predictor_16x16_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_v_predictor_16x16 vpx_highbd_v_predictor_16x16_c ++ ++void vpx_highbd_v_predictor_32x32_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_v_predictor_32x32 vpx_highbd_v_predictor_32x32_c ++ ++void vpx_highbd_v_predictor_4x4_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_v_predictor_4x4 vpx_highbd_v_predictor_4x4_c ++ ++void vpx_highbd_v_predictor_8x8_c(uint16_t* dst, ++ ptrdiff_t stride, ++ const uint16_t* above, ++ const uint16_t* left, ++ int bd); ++#define vpx_highbd_v_predictor_8x8 vpx_highbd_v_predictor_8x8_c ++ ++void vpx_idct16x16_10_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct16x16_10_add vpx_idct16x16_10_add_c ++ ++void vpx_idct16x16_1_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct16x16_1_add vpx_idct16x16_1_add_c ++ ++void vpx_idct16x16_256_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride); ++#define vpx_idct16x16_256_add vpx_idct16x16_256_add_c ++ ++void vpx_idct16x16_38_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct16x16_38_add vpx_idct16x16_38_add_c ++ ++void vpx_idct32x32_1024_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride); ++#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_c ++ ++void vpx_idct32x32_135_add_c(const tran_low_t* input, ++ uint8_t* dest, ++ int stride); ++#define vpx_idct32x32_135_add vpx_idct32x32_135_add_c ++ ++void vpx_idct32x32_1_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct32x32_1_add vpx_idct32x32_1_add_c ++ ++void vpx_idct32x32_34_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct32x32_34_add vpx_idct32x32_34_add_c ++ ++void vpx_idct4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct4x4_16_add vpx_idct4x4_16_add_c ++ ++void vpx_idct4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct4x4_1_add vpx_idct4x4_1_add_c ++ ++void vpx_idct8x8_12_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct8x8_12_add vpx_idct8x8_12_add_c ++ ++void vpx_idct8x8_1_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct8x8_1_add vpx_idct8x8_1_add_c ++ ++void vpx_idct8x8_64_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_idct8x8_64_add vpx_idct8x8_64_add_c ++ ++int16_t vpx_int_pro_col_c(const uint8_t* ref, const int width); ++#define vpx_int_pro_col vpx_int_pro_col_c ++ ++void vpx_int_pro_row_c(int16_t hbuf[16], ++ const uint8_t* ref, ++ const int ref_stride, ++ const int height); ++#define vpx_int_pro_row vpx_int_pro_row_c ++ ++void vpx_iwht4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c ++ ++void vpx_iwht4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride); ++#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c ++ ++void vpx_lpf_horizontal_16_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c ++ ++void vpx_lpf_horizontal_16_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_c ++ ++void vpx_lpf_horizontal_4_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_c ++ ++void vpx_lpf_horizontal_4_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1); ++#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_c ++ ++void vpx_lpf_horizontal_8_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_c ++ ++void vpx_lpf_horizontal_8_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1); ++#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c ++ ++void vpx_lpf_vertical_16_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c ++ ++void vpx_lpf_vertical_16_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c ++ ++void vpx_lpf_vertical_4_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_c ++ ++void vpx_lpf_vertical_4_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1); ++#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_c ++ ++void vpx_lpf_vertical_8_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit, ++ const uint8_t* limit, ++ const uint8_t* thresh); ++#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_c ++ ++void vpx_lpf_vertical_8_dual_c(uint8_t* s, ++ int pitch, ++ const uint8_t* blimit0, ++ const uint8_t* limit0, ++ const uint8_t* thresh0, ++ const uint8_t* blimit1, ++ const uint8_t* limit1, ++ const uint8_t* thresh1); ++#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c ++ ++void vpx_mbpost_proc_across_ip_c(unsigned char* src, ++ int pitch, ++ int rows, ++ int cols, ++ int flimit); ++#define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_c ++ ++void vpx_mbpost_proc_down_c(unsigned char* dst, ++ int pitch, ++ int rows, ++ int cols, ++ int flimit); ++#define vpx_mbpost_proc_down vpx_mbpost_proc_down_c ++ ++void vpx_minmax_8x8_c(const uint8_t* s, ++ int p, ++ const uint8_t* d, ++ int dp, ++ int* min, ++ int* max); ++#define vpx_minmax_8x8 vpx_minmax_8x8_c ++ ++unsigned int vpx_mse16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_mse16x16 vpx_mse16x16_c ++ ++unsigned int vpx_mse16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_mse16x8 vpx_mse16x8_c ++ ++unsigned int vpx_mse8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_mse8x16 vpx_mse8x16_c ++ ++unsigned int vpx_mse8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_mse8x8 vpx_mse8x8_c ++ ++void vpx_plane_add_noise_c(uint8_t* start, ++ const int8_t* noise, ++ int blackclamp, ++ int whiteclamp, ++ int width, ++ int height, ++ int pitch); ++#define vpx_plane_add_noise vpx_plane_add_noise_c ++ ++void vpx_post_proc_down_and_across_mb_row_c(unsigned char* src, ++ unsigned char* dst, ++ int src_pitch, ++ int dst_pitch, ++ int cols, ++ unsigned char* flimits, ++ int size); ++#define vpx_post_proc_down_and_across_mb_row \ ++ vpx_post_proc_down_and_across_mb_row_c ++ ++void vpx_quantize_b_c(const tran_low_t* coeff_ptr, ++ intptr_t n_coeffs, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vpx_quantize_b vpx_quantize_b_c ++ ++void vpx_quantize_b_32x32_c(const tran_low_t* coeff_ptr, ++ const struct macroblock_plane* const mb_plane, ++ tran_low_t* qcoeff_ptr, ++ tran_low_t* dqcoeff_ptr, ++ const int16_t* dequant_ptr, ++ uint16_t* eob_ptr, ++ const struct ScanOrder* const scan_order); ++#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c ++ ++unsigned int vpx_sad16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad16x16 vpx_sad16x16_c ++ ++unsigned int vpx_sad16x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad16x16_avg vpx_sad16x16_avg_c ++ ++void vpx_sad16x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad16x16x4d vpx_sad16x16x4d_c ++ ++unsigned int vpx_sad16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad16x32 vpx_sad16x32_c ++ ++unsigned int vpx_sad16x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad16x32_avg vpx_sad16x32_avg_c ++ ++void vpx_sad16x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad16x32x4d vpx_sad16x32x4d_c ++ ++unsigned int vpx_sad16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad16x8 vpx_sad16x8_c ++ ++unsigned int vpx_sad16x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad16x8_avg vpx_sad16x8_avg_c ++ ++void vpx_sad16x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad16x8x4d vpx_sad16x8x4d_c ++ ++unsigned int vpx_sad32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad32x16 vpx_sad32x16_c ++ ++unsigned int vpx_sad32x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad32x16_avg vpx_sad32x16_avg_c ++ ++void vpx_sad32x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad32x16x4d vpx_sad32x16x4d_c ++ ++unsigned int vpx_sad32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad32x32 vpx_sad32x32_c ++ ++unsigned int vpx_sad32x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad32x32_avg vpx_sad32x32_avg_c ++ ++void vpx_sad32x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad32x32x4d vpx_sad32x32x4d_c ++ ++unsigned int vpx_sad32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad32x64 vpx_sad32x64_c ++ ++unsigned int vpx_sad32x64_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad32x64_avg vpx_sad32x64_avg_c ++ ++void vpx_sad32x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad32x64x4d vpx_sad32x64x4d_c ++ ++unsigned int vpx_sad4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad4x4 vpx_sad4x4_c ++ ++unsigned int vpx_sad4x4_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad4x4_avg vpx_sad4x4_avg_c ++ ++void vpx_sad4x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad4x4x4d vpx_sad4x4x4d_c ++ ++unsigned int vpx_sad4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad4x8 vpx_sad4x8_c ++ ++unsigned int vpx_sad4x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad4x8_avg vpx_sad4x8_avg_c ++ ++void vpx_sad4x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad4x8x4d vpx_sad4x8x4d_c ++ ++unsigned int vpx_sad64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad64x32 vpx_sad64x32_c ++ ++unsigned int vpx_sad64x32_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad64x32_avg vpx_sad64x32_avg_c ++ ++void vpx_sad64x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad64x32x4d vpx_sad64x32x4d_c ++ ++unsigned int vpx_sad64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad64x64 vpx_sad64x64_c ++ ++unsigned int vpx_sad64x64_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad64x64_avg vpx_sad64x64_avg_c ++ ++void vpx_sad64x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad64x64x4d vpx_sad64x64x4d_c ++ ++unsigned int vpx_sad8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad8x16 vpx_sad8x16_c ++ ++unsigned int vpx_sad8x16_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad8x16_avg vpx_sad8x16_avg_c ++ ++void vpx_sad8x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad8x16x4d vpx_sad8x16x4d_c ++ ++unsigned int vpx_sad8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad8x4 vpx_sad8x4_c ++ ++unsigned int vpx_sad8x4_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad8x4_avg vpx_sad8x4_avg_c ++ ++void vpx_sad8x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad8x4x4d vpx_sad8x4x4d_c ++ ++unsigned int vpx_sad8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad8x8 vpx_sad8x8_c ++ ++unsigned int vpx_sad8x8_avg_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ const uint8_t* second_pred); ++#define vpx_sad8x8_avg vpx_sad8x8_avg_c ++ ++void vpx_sad8x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad8x8x4d vpx_sad8x8x4d_c ++ ++unsigned int vpx_sad_skip_16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_16x16 vpx_sad_skip_16x16_c ++ ++void vpx_sad_skip_16x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_16x16x4d vpx_sad_skip_16x16x4d_c ++ ++unsigned int vpx_sad_skip_16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_16x32 vpx_sad_skip_16x32_c ++ ++void vpx_sad_skip_16x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_16x32x4d vpx_sad_skip_16x32x4d_c ++ ++unsigned int vpx_sad_skip_16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_16x8 vpx_sad_skip_16x8_c ++ ++void vpx_sad_skip_16x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_16x8x4d vpx_sad_skip_16x8x4d_c ++ ++unsigned int vpx_sad_skip_32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_32x16 vpx_sad_skip_32x16_c ++ ++void vpx_sad_skip_32x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_32x16x4d vpx_sad_skip_32x16x4d_c ++ ++unsigned int vpx_sad_skip_32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_32x32 vpx_sad_skip_32x32_c ++ ++void vpx_sad_skip_32x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_32x32x4d vpx_sad_skip_32x32x4d_c ++ ++unsigned int vpx_sad_skip_32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_32x64 vpx_sad_skip_32x64_c ++ ++void vpx_sad_skip_32x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_32x64x4d vpx_sad_skip_32x64x4d_c ++ ++unsigned int vpx_sad_skip_4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_4x4 vpx_sad_skip_4x4_c ++ ++void vpx_sad_skip_4x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_4x4x4d vpx_sad_skip_4x4x4d_c ++ ++unsigned int vpx_sad_skip_4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_4x8 vpx_sad_skip_4x8_c ++ ++void vpx_sad_skip_4x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_4x8x4d vpx_sad_skip_4x8x4d_c ++ ++unsigned int vpx_sad_skip_64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_64x32 vpx_sad_skip_64x32_c ++ ++void vpx_sad_skip_64x32x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_64x32x4d vpx_sad_skip_64x32x4d_c ++ ++unsigned int vpx_sad_skip_64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_64x64 vpx_sad_skip_64x64_c ++ ++void vpx_sad_skip_64x64x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_64x64x4d vpx_sad_skip_64x64x4d_c ++ ++unsigned int vpx_sad_skip_8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_8x16 vpx_sad_skip_8x16_c ++ ++void vpx_sad_skip_8x16x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_8x16x4d vpx_sad_skip_8x16x4d_c ++ ++unsigned int vpx_sad_skip_8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_8x4 vpx_sad_skip_8x4_c ++ ++void vpx_sad_skip_8x4x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_8x4x4d vpx_sad_skip_8x4x4d_c ++ ++unsigned int vpx_sad_skip_8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride); ++#define vpx_sad_skip_8x8 vpx_sad_skip_8x8_c ++ ++void vpx_sad_skip_8x8x4d_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* const ref_array[4], ++ int ref_stride, ++ uint32_t sad_array[4]); ++#define vpx_sad_skip_8x8x4d vpx_sad_skip_8x8x4d_c ++ ++int vpx_satd_c(const tran_low_t* coeff, int length); ++#define vpx_satd vpx_satd_c ++ ++void vpx_scaled_2d_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_2d vpx_scaled_2d_c ++ ++void vpx_scaled_avg_2d_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c ++ ++void vpx_scaled_avg_horiz_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c ++ ++void vpx_scaled_avg_vert_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c ++ ++void vpx_scaled_horiz_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_horiz vpx_scaled_horiz_c ++ ++void vpx_scaled_vert_c(const uint8_t* src, ++ ptrdiff_t src_stride, ++ uint8_t* dst, ++ ptrdiff_t dst_stride, ++ const InterpKernel* filter, ++ int x0_q4, ++ int x_step_q4, ++ int y0_q4, ++ int y_step_q4, ++ int w, ++ int h); ++#define vpx_scaled_vert vpx_scaled_vert_c ++ ++int64_t vpx_sse_c(const uint8_t* a, ++ int a_stride, ++ const uint8_t* b, ++ int b_stride, ++ int width, ++ int height); ++#define vpx_sse vpx_sse_c ++ ++uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c ++ ++uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c ++ ++uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c ++ ++uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c ++ ++uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c ++ ++uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c ++ ++uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c ++ ++uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c ++ ++uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c ++ ++uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c ++ ++uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c ++ ++uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c ++ ++uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse, ++ const uint8_t* second_pred); ++#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c ++ ++uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_c ++ ++uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c ++ ++uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c ++ ++uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c ++ ++uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_c ++ ++uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c ++ ++uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c ++ ++uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c ++ ++uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c ++ ++uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c ++ ++uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c ++ ++uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c ++ ++uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ int x_offset, ++ int y_offset, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ uint32_t* sse); ++#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_c ++ ++void vpx_subtract_block_c(int rows, ++ int cols, ++ int16_t* diff_ptr, ++ ptrdiff_t diff_stride, ++ const uint8_t* src_ptr, ++ ptrdiff_t src_stride, ++ const uint8_t* pred_ptr, ++ ptrdiff_t pred_stride); ++#define vpx_subtract_block vpx_subtract_block_c ++ ++uint64_t vpx_sum_squares_2d_i16_c(const int16_t* src, int stride, int size); ++#define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c ++ ++void vpx_tm_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_c ++ ++void vpx_tm_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_c ++ ++void vpx_tm_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c ++ ++void vpx_tm_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c ++ ++void vpx_v_predictor_16x16_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_c ++ ++void vpx_v_predictor_32x32_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_c ++ ++void vpx_v_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c ++ ++void vpx_v_predictor_8x8_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c ++ ++unsigned int vpx_variance16x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance16x16 vpx_variance16x16_c ++ ++unsigned int vpx_variance16x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance16x32 vpx_variance16x32_c ++ ++unsigned int vpx_variance16x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance16x8 vpx_variance16x8_c ++ ++unsigned int vpx_variance32x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance32x16 vpx_variance32x16_c ++ ++unsigned int vpx_variance32x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance32x32 vpx_variance32x32_c ++ ++unsigned int vpx_variance32x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance32x64 vpx_variance32x64_c ++ ++unsigned int vpx_variance4x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance4x4 vpx_variance4x4_c ++ ++unsigned int vpx_variance4x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance4x8 vpx_variance4x8_c ++ ++unsigned int vpx_variance64x32_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance64x32 vpx_variance64x32_c ++ ++unsigned int vpx_variance64x64_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance64x64 vpx_variance64x64_c ++ ++unsigned int vpx_variance8x16_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance8x16 vpx_variance8x16_c ++ ++unsigned int vpx_variance8x4_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance8x4 vpx_variance8x4_c ++ ++unsigned int vpx_variance8x8_c(const uint8_t* src_ptr, ++ int src_stride, ++ const uint8_t* ref_ptr, ++ int ref_stride, ++ unsigned int* sse); ++#define vpx_variance8x8 vpx_variance8x8_c ++ ++void vpx_ve_predictor_4x4_c(uint8_t* dst, ++ ptrdiff_t stride, ++ const uint8_t* above, ++ const uint8_t* left); ++#define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c ++ ++int vpx_vector_var_c(const int16_t* ref, const int16_t* src, const int bwl); ++#define vpx_vector_var vpx_vector_var_c ++ ++void vpx_dsp_rtcd(void); ++ ++#include "vpx_config.h" ++ ++#ifdef RTCD_C ++static void setup_rtcd_internal(void) {} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif +Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h +=================================================================== +--- /dev/null ++++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h +@@ -0,0 +1,96 @@ ++// This file is generated. Do not edit. ++#ifndef VPX_SCALE_RTCD_H_ ++#define VPX_SCALE_RTCD_H_ ++ ++#ifdef RTCD_C ++#define RTCD_EXTERN ++#else ++#define RTCD_EXTERN extern ++#endif ++ ++struct yv12_buffer_config; ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++void vp8_horizontal_line_2_1_scale_c(const unsigned char* source, ++ unsigned int source_width, ++ unsigned char* dest, ++ unsigned int dest_width); ++#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c ++ ++void vp8_horizontal_line_5_3_scale_c(const unsigned char* source, ++ unsigned int source_width, ++ unsigned char* dest, ++ unsigned int dest_width); ++#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c ++ ++void vp8_horizontal_line_5_4_scale_c(const unsigned char* source, ++ unsigned int source_width, ++ unsigned char* dest, ++ unsigned int dest_width); ++#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c ++ ++void vp8_vertical_band_2_1_scale_c(unsigned char* source, ++ unsigned int src_pitch, ++ unsigned char* dest, ++ unsigned int dest_pitch, ++ unsigned int dest_width); ++#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c ++ ++void vp8_vertical_band_2_1_scale_i_c(unsigned char* source, ++ unsigned int src_pitch, ++ unsigned char* dest, ++ unsigned int dest_pitch, ++ unsigned int dest_width); ++#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c ++ ++void vp8_vertical_band_5_3_scale_c(unsigned char* source, ++ unsigned int src_pitch, ++ unsigned char* dest, ++ unsigned int dest_pitch, ++ unsigned int dest_width); ++#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c ++ ++void vp8_vertical_band_5_4_scale_c(unsigned char* source, ++ unsigned int src_pitch, ++ unsigned char* dest, ++ unsigned int dest_pitch, ++ unsigned int dest_width); ++#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c ++ ++void vp8_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc, ++ struct yv12_buffer_config* dst_ybc); ++#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c ++ ++void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config* ybf); ++#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c ++ ++void vpx_extend_frame_borders_c(struct yv12_buffer_config* ybf); ++#define vpx_extend_frame_borders vpx_extend_frame_borders_c ++ ++void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config* ybf); ++#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c ++ ++void vpx_yv12_copy_frame_c(const struct yv12_buffer_config* src_ybc, ++ struct yv12_buffer_config* dst_ybc); ++#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c ++ ++void vpx_yv12_copy_y_c(const struct yv12_buffer_config* src_ybc, ++ struct yv12_buffer_config* dst_ybc); ++#define vpx_yv12_copy_y vpx_yv12_copy_y_c ++ ++void vpx_scale_rtcd(void); ++ ++#include "vpx_config.h" ++ ++#ifdef RTCD_C ++static void setup_rtcd_internal(void) {} ++#endif ++ ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ ++#endif diff --git a/0004-third_party-crashpad-port-curl-transport-ppc64.patch b/0004-third_party-crashpad-port-curl-transport-ppc64.patch new file mode 100644 index 0000000..bb55c2e --- /dev/null +++ b/0004-third_party-crashpad-port-curl-transport-ppc64.patch @@ -0,0 +1,17 @@ +Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc ++++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc +@@ -239,6 +239,12 @@ std::string UserAgent() { + #endif + #elif defined (ARCH_CPU_RISCV64) + static constexpr char arch[] = "riscv64"; ++#elif defined(__powerpc64__) ++#if defined(ARCH_CPU_LITTLE_ENDIAN) ++ static constexpr char arch[] = "ppc64"; ++#elif defined(ARCH_CPU_BIG_ENDIAN) ++ static constexpr char arch[] = "ppc64_be"; ++#endif + #else + #error Port + #endif diff --git a/0004-third_party-libvpx-work-around-ambiguous-vsx.patch b/0004-third_party-libvpx-work-around-ambiguous-vsx.patch new file mode 100644 index 0000000..9adceb3 --- /dev/null +++ b/0004-third_party-libvpx-work-around-ambiguous-vsx.patch @@ -0,0 +1,376 @@ +Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c ++++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c +@@ -38,6 +38,28 @@ static INLINE int16x8_t vec_max_across(i + return vec_max(a, vec_perm(a, a, vec_perm16)); + } + ++static INLINE void ++vec_u64_store(vector unsigned long long vecu64, unsigned long offset, void *ptr) ++{ ++#ifndef WORDS_BIGENDIAN ++ __asm__ ("xxswapd %x0, %x1" ++ : "=wa" (vecu64) ++ : "wa" (vecu64)); ++#endif ++#if __GNUC__ >= 4 ++ if (__builtin_constant_p (offset) && offset == 0) ++ __asm__ ("stxvd2x %x0,0,%1\n\t" ++ : ++ : "wa" (vecu64), "r" ((uintptr_t)ptr) ++ : "memory"); ++ else ++#endif ++ __asm__ ("stxvd2x %x0,%1,%2\n\t" ++ : ++ : "wa" (vecu64), "r" (offset), "r" ((uintptr_t)ptr) ++ : "memory", "r0"); ++} ++ + void vp9_quantize_fp_vsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, + const int16_t *round_ptr, const int16_t *quant_ptr, + tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, +@@ -60,10 +82,10 @@ void vp9_quantize_fp_vsx(const tran_low_ + qcoeff0 = vec_mulhi(vec_vaddshs(vec_abs(coeff0), round), quant); + zero_coeff0 = vec_cmpeq(qcoeff0, vec_zeros_s16); + qcoeff0 = vec_sign(qcoeff0, coeff0); +- vec_vsx_st(qcoeff0, 0, qcoeff_ptr); ++ vec_u64_store(qcoeff0, 0, qcoeff_ptr); + + dqcoeff0 = vec_mladd(qcoeff0, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff0, 0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, 0, dqcoeff_ptr); + + // Remove DC value from round and quant + round = vec_splat(round, 1); +@@ -76,10 +98,10 @@ void vp9_quantize_fp_vsx(const tran_low_ + qcoeff1 = vec_mulhi(vec_vaddshs(vec_abs(coeff1), round), quant); + zero_coeff1 = vec_cmpeq(qcoeff1, vec_zeros_s16); + qcoeff1 = vec_sign(qcoeff1, coeff1); +- vec_vsx_st(qcoeff1, 16, qcoeff_ptr); ++ vec_u64_store(qcoeff1, 16, qcoeff_ptr); + + dqcoeff1 = vec_mladd(qcoeff1, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff1, 16, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, 16, dqcoeff_ptr); + + eob = vec_max(vec_or(scan0, zero_coeff0), vec_or(scan1, zero_coeff1)); + +@@ -107,23 +129,23 @@ void vp9_quantize_fp_vsx(const tran_low_ + qcoeff0 = vec_mulhi(vec_vaddshs(vec_abs(coeff0), round), quant); + zero_coeff0 = vec_cmpeq(qcoeff0, vec_zeros_s16); + qcoeff0 = vec_sign(qcoeff0, coeff0); +- vec_vsx_st(qcoeff0, off0, qcoeff_ptr); ++ vec_u64_store(qcoeff0, off0, qcoeff_ptr); + dqcoeff0 = vec_mladd(qcoeff0, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff0, off0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, off0, dqcoeff_ptr); + + qcoeff1 = vec_mulhi(vec_vaddshs(vec_abs(coeff1), round), quant); + zero_coeff1 = vec_cmpeq(qcoeff1, vec_zeros_s16); + qcoeff1 = vec_sign(qcoeff1, coeff1); +- vec_vsx_st(qcoeff1, off1, qcoeff_ptr); ++ vec_u64_store(qcoeff1, off1, qcoeff_ptr); + dqcoeff1 = vec_mladd(qcoeff1, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff1, off1, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, off1, dqcoeff_ptr); + + qcoeff2 = vec_mulhi(vec_vaddshs(vec_abs(coeff2), round), quant); + zero_coeff2 = vec_cmpeq(qcoeff2, vec_zeros_s16); + qcoeff2 = vec_sign(qcoeff2, coeff2); +- vec_vsx_st(qcoeff2, off2, qcoeff_ptr); ++ vec_u64_store(qcoeff2, off2, qcoeff_ptr); + dqcoeff2 = vec_mladd(qcoeff2, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff2, off2, dqcoeff_ptr); ++ vec_u64_store(dqcoeff2, off2, dqcoeff_ptr); + + eob = vec_max(eob, vec_or(scan0, zero_coeff0)); + eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2)); +@@ -200,10 +222,10 @@ void vp9_quantize_fp_32x32_vsx(const tra + qcoeff0 = vec_and(qcoeff0, mask0); + zero_coeff0 = vec_cmpeq(qcoeff0, vec_zeros_s16); + qcoeff0 = vec_sign(qcoeff0, coeff0); +- vec_vsx_st(qcoeff0, 0, qcoeff_ptr); ++ vec_u64_store(qcoeff0, 0, qcoeff_ptr); + + dqcoeff0 = dequantize_coeff_32(qcoeff0, dequant); +- vec_vsx_st(dqcoeff0, 0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, 0, dqcoeff_ptr); + + // Remove DC value from thres, round, quant and dequant + thres = vec_splat(thres, 1); +@@ -219,10 +241,10 @@ void vp9_quantize_fp_32x32_vsx(const tra + qcoeff1 = vec_and(qcoeff1, mask1); + zero_coeff1 = vec_cmpeq(qcoeff1, vec_zeros_s16); + qcoeff1 = vec_sign(qcoeff1, coeff1); +- vec_vsx_st(qcoeff1, 16, qcoeff_ptr); ++ vec_u64_store(qcoeff1, 16, qcoeff_ptr); + + dqcoeff1 = dequantize_coeff_32(qcoeff1, dequant); +- vec_vsx_st(dqcoeff1, 16, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, 16, dqcoeff_ptr); + + eob = vec_max(vec_or(scan0, zero_coeff0), vec_or(scan1, zero_coeff1)); + +@@ -260,17 +282,17 @@ void vp9_quantize_fp_32x32_vsx(const tra + qcoeff1 = vec_sign(qcoeff1, coeff1); + qcoeff2 = vec_sign(qcoeff2, coeff2); + +- vec_vsx_st(qcoeff0, off0, qcoeff_ptr); +- vec_vsx_st(qcoeff1, off1, qcoeff_ptr); +- vec_vsx_st(qcoeff2, off2, qcoeff_ptr); ++ vec_u64_store(qcoeff0, off0, qcoeff_ptr); ++ vec_u64_store(qcoeff1, off1, qcoeff_ptr); ++ vec_u64_store(qcoeff2, off2, qcoeff_ptr); + + dqcoeff0 = dequantize_coeff_32(qcoeff0, dequant); + dqcoeff1 = dequantize_coeff_32(qcoeff1, dequant); + dqcoeff2 = dequantize_coeff_32(qcoeff2, dequant); + +- vec_vsx_st(dqcoeff0, off0, dqcoeff_ptr); +- vec_vsx_st(dqcoeff1, off1, dqcoeff_ptr); +- vec_vsx_st(dqcoeff2, off2, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, off0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, off1, dqcoeff_ptr); ++ vec_u64_store(dqcoeff2, off2, dqcoeff_ptr); + + eob = vec_max(eob, vec_or(scan0, zero_coeff0)); + eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2)); +Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c ++++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c +@@ -15,6 +15,28 @@ + #include "vpx_dsp/ppc/txfm_common_vsx.h" + #include "vpx_dsp/ppc/types_vsx.h" + ++static INLINE void ++vec_u64_store(vector unsigned long long vecu64, unsigned long offset, void *ptr) ++{ ++#ifndef WORDS_BIGENDIAN ++ __asm__ ("xxswapd %x0, %x1" ++ : "=wa" (vecu64) ++ : "wa" (vecu64)); ++#endif ++#if __GNUC__ >= 4 ++ if (__builtin_constant_p (offset) && offset == 0) ++ __asm__ ("stxvd2x %x0,0,%1\n\t" ++ : ++ : "wa" (vecu64), "r" ((uintptr_t)ptr) ++ : "memory"); ++ else ++#endif ++ __asm__ ("stxvd2x %x0,%1,%2\n\t" ++ : ++ : "wa" (vecu64), "r" (offset), "r" ((uintptr_t)ptr) ++ : "memory", "r0"); ++} ++ + // Returns ((a +/- b) * cospi16 + (2 << 13)) >> 14. + static INLINE void single_butterfly(int16x8_t a, int16x8_t b, int16x8_t *add, + int16x8_t *sub) { +@@ -164,45 +186,45 @@ static INLINE void load(const int16_t *a + } + + static INLINE void store(tran_low_t *a, const int16x8_t *b) { +- vec_vsx_st(b[0], 0, a); +- vec_vsx_st(b[8], 0, a + 8); +- vec_vsx_st(b[16], 0, a + 16); +- vec_vsx_st(b[24], 0, a + 24); +- +- vec_vsx_st(b[1], 0, a + 32); +- vec_vsx_st(b[9], 0, a + 40); +- vec_vsx_st(b[17], 0, a + 48); +- vec_vsx_st(b[25], 0, a + 56); +- +- vec_vsx_st(b[2], 0, a + 64); +- vec_vsx_st(b[10], 0, a + 72); +- vec_vsx_st(b[18], 0, a + 80); +- vec_vsx_st(b[26], 0, a + 88); +- +- vec_vsx_st(b[3], 0, a + 96); +- vec_vsx_st(b[11], 0, a + 104); +- vec_vsx_st(b[19], 0, a + 112); +- vec_vsx_st(b[27], 0, a + 120); +- +- vec_vsx_st(b[4], 0, a + 128); +- vec_vsx_st(b[12], 0, a + 136); +- vec_vsx_st(b[20], 0, a + 144); +- vec_vsx_st(b[28], 0, a + 152); +- +- vec_vsx_st(b[5], 0, a + 160); +- vec_vsx_st(b[13], 0, a + 168); +- vec_vsx_st(b[21], 0, a + 176); +- vec_vsx_st(b[29], 0, a + 184); +- +- vec_vsx_st(b[6], 0, a + 192); +- vec_vsx_st(b[14], 0, a + 200); +- vec_vsx_st(b[22], 0, a + 208); +- vec_vsx_st(b[30], 0, a + 216); +- +- vec_vsx_st(b[7], 0, a + 224); +- vec_vsx_st(b[15], 0, a + 232); +- vec_vsx_st(b[23], 0, a + 240); +- vec_vsx_st(b[31], 0, a + 248); ++ vec_u64_store(b[0], 0, a); ++ vec_u64_store(b[8], 0, a + 8); ++ vec_u64_store(b[16], 0, a + 16); ++ vec_u64_store(b[24], 0, a + 24); ++ ++ vec_u64_store(b[1], 0, a + 32); ++ vec_u64_store(b[9], 0, a + 40); ++ vec_u64_store(b[17], 0, a + 48); ++ vec_u64_store(b[25], 0, a + 56); ++ ++ vec_u64_store(b[2], 0, a + 64); ++ vec_u64_store(b[10], 0, a + 72); ++ vec_u64_store(b[18], 0, a + 80); ++ vec_u64_store(b[26], 0, a + 88); ++ ++ vec_u64_store(b[3], 0, a + 96); ++ vec_u64_store(b[11], 0, a + 104); ++ vec_u64_store(b[19], 0, a + 112); ++ vec_u64_store(b[27], 0, a + 120); ++ ++ vec_u64_store(b[4], 0, a + 128); ++ vec_u64_store(b[12], 0, a + 136); ++ vec_u64_store(b[20], 0, a + 144); ++ vec_u64_store(b[28], 0, a + 152); ++ ++ vec_u64_store(b[5], 0, a + 160); ++ vec_u64_store(b[13], 0, a + 168); ++ vec_u64_store(b[21], 0, a + 176); ++ vec_u64_store(b[29], 0, a + 184); ++ ++ vec_u64_store(b[6], 0, a + 192); ++ vec_u64_store(b[14], 0, a + 200); ++ vec_u64_store(b[22], 0, a + 208); ++ vec_u64_store(b[30], 0, a + 216); ++ ++ vec_u64_store(b[7], 0, a + 224); ++ vec_u64_store(b[15], 0, a + 232); ++ vec_u64_store(b[23], 0, a + 240); ++ vec_u64_store(b[31], 0, a + 248); + } + + // Returns 1 if negative 0 if positive +Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c ++++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c +@@ -13,6 +13,28 @@ + #include "./vpx_dsp_rtcd.h" + #include "vpx_dsp/ppc/types_vsx.h" + ++static INLINE void ++vec_u64_store(vector unsigned long long vecu64, unsigned long offset, void *ptr) ++{ ++#ifndef WORDS_BIGENDIAN ++ __asm__ ("xxswapd %x0, %x1" ++ : "=wa" (vecu64) ++ : "wa" (vecu64)); ++#endif ++#if __GNUC__ >= 4 ++ if (__builtin_constant_p (offset) && offset == 0) ++ __asm__ ("stxvd2x %x0,0,%1\n\t" ++ : ++ : "wa" (vecu64), "r" ((uintptr_t)ptr) ++ : "memory"); ++ else ++#endif ++ __asm__ ("stxvd2x %x0,%1,%2\n\t" ++ : ++ : "wa" (vecu64), "r" (offset), "r" ((uintptr_t)ptr) ++ : "memory", "r0"); ++} ++ + // Negate 16-bit integers in a when the corresponding signed 16-bit + // integer in b is negative. + static INLINE int16x8_t vec_sign(int16x8_t a, int16x8_t b) { +@@ -124,19 +146,19 @@ void vpx_quantize_b_vsx(const tran_low_t + + qcoeff0 = + quantize_coeff(coeff0, coeff0_abs, round, quant, quant_shift, zero_mask0); +- vec_vsx_st(qcoeff0, 0, qcoeff_ptr); ++ vec_u64_store(qcoeff0, 0, qcoeff_ptr); + round = vec_splat(round, 1); + quant = vec_splat(quant, 1); + quant_shift = vec_splat(quant_shift, 1); + qcoeff1 = + quantize_coeff(coeff1, coeff1_abs, round, quant, quant_shift, zero_mask1); +- vec_vsx_st(qcoeff1, 16, qcoeff_ptr); ++ vec_u64_store(qcoeff1, 16, qcoeff_ptr); + + dqcoeff0 = vec_mladd(qcoeff0, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff0, 0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, 0, dqcoeff_ptr); + dequant = vec_splat(dequant, 1); + dqcoeff1 = vec_mladd(qcoeff1, dequant, vec_zeros_s16); +- vec_vsx_st(dqcoeff1, 16, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, 16, dqcoeff_ptr); + + eob = vec_max(nonzero_scanindex(qcoeff0, iscan_ptr, 0), + nonzero_scanindex(qcoeff1, iscan_ptr, 16)); +@@ -164,17 +186,17 @@ void vpx_quantize_b_vsx(const tran_low_t + zero_mask1); + qcoeff2 = quantize_coeff(coeff2, coeff2_abs, round, quant, quant_shift, + zero_mask2); +- vec_vsx_st(qcoeff0, off0, qcoeff_ptr); +- vec_vsx_st(qcoeff1, off1, qcoeff_ptr); +- vec_vsx_st(qcoeff2, off2, qcoeff_ptr); ++ vec_u64_store(qcoeff0, off0, qcoeff_ptr); ++ vec_u64_store(qcoeff1, off1, qcoeff_ptr); ++ vec_u64_store(qcoeff2, off2, qcoeff_ptr); + + dqcoeff0 = vec_mladd(qcoeff0, dequant, vec_zeros_s16); + dqcoeff1 = vec_mladd(qcoeff1, dequant, vec_zeros_s16); + dqcoeff2 = vec_mladd(qcoeff2, dequant, vec_zeros_s16); + +- vec_vsx_st(dqcoeff0, off0, dqcoeff_ptr); +- vec_vsx_st(dqcoeff1, off1, dqcoeff_ptr); +- vec_vsx_st(dqcoeff2, off2, dqcoeff_ptr); ++ vec_u64_store(dqcoeff0, off0, dqcoeff_ptr); ++ vec_u64_store(dqcoeff1, off1, dqcoeff_ptr); ++ vec_u64_store(dqcoeff2, off2, dqcoeff_ptr); + + eob = vec_max(eob, nonzero_scanindex(qcoeff0, iscan_ptr, off0)); + eob2 = vec_max(nonzero_scanindex(qcoeff1, iscan_ptr, off1), +@@ -243,12 +265,12 @@ void vpx_quantize_b_32x32_vsx(const tran + qcoeff1 = quantize_coeff_32(coeff1, coeff1_abs, round, quant, quant_shift, + zero_mask1); + +- vec_vsx_st(qcoeff0, 0, qcoeff_ptr); +- vec_vsx_st(qcoeff1, 16, qcoeff_ptr); ++ vec_u64_store(qcoeff0, 0, qcoeff_ptr); ++ vec_u64_store(qcoeff1, 16, qcoeff_ptr); + +- vec_vsx_st(dequantize_coeff_32(qcoeff0, dequant), 0, dqcoeff_ptr); ++ vec_u64_store(dequantize_coeff_32(qcoeff0, dequant), 0, dqcoeff_ptr); + dequant = vec_splat(dequant, 1); // remove DC from dequant +- vec_vsx_st(dequantize_coeff_32(qcoeff1, dequant), 16, dqcoeff_ptr); ++ vec_u64_store(dequantize_coeff_32(qcoeff1, dequant), 16, dqcoeff_ptr); + + eob = vec_max(nonzero_scanindex(qcoeff0, iscan_ptr, 0), + nonzero_scanindex(qcoeff1, iscan_ptr, 16)); +@@ -276,13 +298,13 @@ void vpx_quantize_b_32x32_vsx(const tran + qcoeff2 = quantize_coeff_32(coeff2, coeff2_abs, round, quant, quant_shift, + zero_mask2); + +- vec_vsx_st(qcoeff0, off0, qcoeff_ptr); +- vec_vsx_st(qcoeff1, off1, qcoeff_ptr); +- vec_vsx_st(qcoeff2, off2, qcoeff_ptr); +- +- vec_vsx_st(dequantize_coeff_32(qcoeff0, dequant), off0, dqcoeff_ptr); +- vec_vsx_st(dequantize_coeff_32(qcoeff1, dequant), off1, dqcoeff_ptr); +- vec_vsx_st(dequantize_coeff_32(qcoeff2, dequant), off2, dqcoeff_ptr); ++ vec_u64_store(qcoeff0, off0, qcoeff_ptr); ++ vec_u64_store(qcoeff1, off1, qcoeff_ptr); ++ vec_u64_store(qcoeff2, off2, qcoeff_ptr); ++ ++ vec_u64_store(dequantize_coeff_32(qcoeff0, dequant), off0, dqcoeff_ptr); ++ vec_u64_store(dequantize_coeff_32(qcoeff1, dequant), off1, dqcoeff_ptr); ++ vec_u64_store(dequantize_coeff_32(qcoeff2, dequant), off2, dqcoeff_ptr); + + eob = vec_max(eob, nonzero_scanindex(qcoeff0, iscan_ptr, off0)); + eob2 = vec_max(nonzero_scanindex(qcoeff1, iscan_ptr, off1), diff --git a/HACK-debian-clang-disable-base-musttail.patch b/HACK-debian-clang-disable-base-musttail.patch new file mode 100644 index 0000000..07e60f7 --- /dev/null +++ b/HACK-debian-clang-disable-base-musttail.patch @@ -0,0 +1,13 @@ +Index: chromium-144.0.7559.59/base/compiler_specific.h +=================================================================== +--- chromium-144.0.7559.59.orig/base/compiler_specific.h ++++ chromium-144.0.7559.59/base/compiler_specific.h +@@ -198,7 +198,7 @@ + // MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called. + // } + // ``` +-#if __has_cpp_attribute(clang::musttail) ++#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc64__) + #define MUSTTAIL [[clang::musttail]] + #else + #define MUSTTAIL diff --git a/HACK-debian-clang-disable-pa-musttail.patch b/HACK-debian-clang-disable-pa-musttail.patch new file mode 100644 index 0000000..d06c52e --- /dev/null +++ b/HACK-debian-clang-disable-pa-musttail.patch @@ -0,0 +1,13 @@ +Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h +=================================================================== +--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h ++++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h +@@ -139,7 +139,7 @@ + // PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called. + // } + // ``` +-#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) ++#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc64__) + #define PA_MUSTTAIL [[clang::musttail]] + #else + #define PA_MUSTTAIL diff --git a/HACK-debian-clang-disable-skia-musttail.patch b/HACK-debian-clang-disable-skia-musttail.patch new file mode 100644 index 0000000..0aee7d8 --- /dev/null +++ b/HACK-debian-clang-disable-skia-musttail.patch @@ -0,0 +1,13 @@ +Index: chromium-130.0.6723.44/third_party/skia/src/core/SkRasterPipeline.h +=================================================================== +--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkRasterPipeline.h ++++ chromium-130.0.6723.44/third_party/skia/src/core/SkRasterPipeline.h +@@ -27,7 +27,7 @@ struct SkImageInfo; + struct skcms_TransferFunction; + + #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ +- !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) ++ !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) && !defined(__powerpc64__) + // [[clang::musttail]] is disabled for the Android version of Skia running on Windows as it + // causes crashes (This is probably related to http://crbug.com/1505442). + #define SK_HAS_MUSTTAIL 1 diff --git a/HACK-third_party-libvpx-use-generic-gnu.patch b/HACK-third_party-libvpx-use-generic-gnu.patch new file mode 100644 index 0000000..215eb0d --- /dev/null +++ b/HACK-third_party-libvpx-use-generic-gnu.patch @@ -0,0 +1,48 @@ +Index: chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/generate_gni.sh ++++ chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh +@@ -429,7 +429,7 @@ gen_config_files linux/mipsel "--target= + gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}" + gen_config_files linux/loongarch \ + "--target=loongarch64-linux-gcc ${all_platforms}" +-gen_config_files linux/ppc64 "--target=ppc64le-linux-gcc ${all_platforms}" ++gen_config_files linux/ppc64 "--target=generic-gnu $HIGHBD ${all_platforms}" + gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}" + gen_config_files win/arm64-highbd \ + "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD} ${disable_sve}" +Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl ++++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl +@@ -527,8 +527,9 @@ if ($opts{arch} eq 'x86') { + } + arm; + } elsif ($opts{arch} =~ /^ppc/ ) { +- @ALL_ARCHS = filter(qw/vsx/); +- ppc; ++ #@ALL_ARCHS = filter(qw/vsx/); ++ #ppc; ++ unoptimized; + } elsif ($opts{arch} =~ /loongarch/ ) { + @ALL_ARCHS = filter(qw/lsx lasx/); + loongarch; +Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn ++++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn +@@ -98,6 +98,14 @@ config("libvpx_config") { + "-Wno-sign-compare", + ] + } ++ ++ if (current_cpu == "ppc64") { ++ cflags += [ ++ "-mcpu=power8", ++ "-maltivec", ++ "-mvsx", ++ ] ++ } + } + + # This config is applied to targets that depend on libvpx. diff --git a/Rtc_base-system-arch.h-PPC.patch b/Rtc_base-system-arch.h-PPC.patch new file mode 100644 index 0000000..b5a4185 --- /dev/null +++ b/Rtc_base-system-arch.h-PPC.patch @@ -0,0 +1,23 @@ +Index: chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/webrtc/rtc_base/system/arch.h ++++ chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h +@@ -46,6 +46,18 @@ + #endif + #if defined(__MIPSEL__) + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#elif defined(__PPC__) ++#define WEBRTC_ARCH_PPC_FAMILY ++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++#define WEBRTC_ARCH_LITTLE_ENDIAN ++#else ++#define WEBRTC_ARCH_BIG_ENDIAN ++#endif ++#if defined(__LP64__) ++#define WEBRTC_ARCH_64_BITS ++#else ++#define WEBRTC_ARCH_32_BITS ++#endif + #else + #define WEBRTC_ARCH_BIG_ENDIAN + #endif diff --git a/add-ppc64-architecture-string.patch b/add-ppc64-architecture-string.patch new file mode 100644 index 0000000..3983cfa --- /dev/null +++ b/add-ppc64-architecture-string.patch @@ -0,0 +1,13 @@ +Index: chromium-144.0.7559.59/base/system/sys_info.cc +=================================================================== +--- chromium-144.0.7559.59.orig/base/system/sys_info.cc ++++ chromium-144.0.7559.59/base/system/sys_info.cc +@@ -263,6 +263,8 @@ std::string SysInfo::ProcessCPUArchitect + return "ARM"; + #elif defined(ARCH_CPU_ARM64) + return "ARM_64"; ++#elif defined(ARCH_CPU_PPC64) ++ return "PPC_64"; + #elif defined(ARCH_CPU_RISCV64) + return "RISCV_64"; + #else diff --git a/add-ppc64-architecture-to-extensions.diff b/add-ppc64-architecture-to-extensions.diff new file mode 100644 index 0000000..39e0495 --- /dev/null +++ b/add-ppc64-architecture-to-extensions.diff @@ -0,0 +1,37 @@ +Index: chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc +=================================================================== +--- chromium-144.0.7559.59.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc ++++ chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc +@@ -383,6 +383,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo + info->arch = extensions::api::runtime::PlatformArch::kMips64; + } else if (arch == "riscv64") { + info->arch = extensions::api::runtime::PlatformArch::kRiscv64; ++ } else if (arch == "ppc64") { ++ info->arch = extensions::api::runtime::PlatformArch::kPpc64; + } else { + NOTREACHED(); + } +Index: chromium-144.0.7559.59/extensions/common/api/runtime.json +=================================================================== +--- chromium-144.0.7559.59.orig/extensions/common/api/runtime.json ++++ chromium-144.0.7559.59/extensions/common/api/runtime.json +@@ -98,7 +98,8 @@ + {"name": "x86-64", "description": "Specifies the processer architecture as x86-64."}, + {"name": "mips", "description": "Specifies the processer architecture as mips."}, + {"name": "mips64", "description": "Specifies the processer architecture as mips64."}, +- {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."} ++ {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."}, ++ {"name": "ppc64", "description": "Specifies the processer architecture as ppc64."} + ], + "description": "The machine's processor architecture." + }, +@@ -111,7 +112,8 @@ + {"name": "x86-32", "description": "Specifies the native client architecture as x86-32."}, + {"name": "x86-64", "description": "Specifies the native client architecture as x86-64."}, + {"name": "mips", "description": "Specifies the native client architecture as mips."}, +- {"name": "mips64", "description": "Specifies the native client architecture as mips64."} ++ {"name": "mips64", "description": "Specifies the native client architecture as mips64."}, ++ {"name": "ppc64", "description": "Specifies the native client architecture as ppc64."} + ] + }, + { diff --git a/add-ppc64-pthread-stack-size.patch b/add-ppc64-pthread-stack-size.patch new file mode 100644 index 0000000..8f4472b --- /dev/null +++ b/add-ppc64-pthread-stack-size.patch @@ -0,0 +1,14 @@ +Index: chromium-144.0.7559.59/base/process/launch.h +=================================================================== +--- chromium-144.0.7559.59.orig/base/process/launch.h ++++ chromium-144.0.7559.59/base/process/launch.h +@@ -58,6 +58,9 @@ enum TerminationStatus : int; + #if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_LOONGARCH64) + #define PTHREAD_STACK_MIN_CONST \ + (__builtin_constant_p(PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN : 131072) ++#elif defined(ARCH_CPU_PPC64) ++#define PTHREAD_STACK_MIN_CONST \ ++ (__builtin_constant_p(PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN : 131072) + #else + #define PTHREAD_STACK_MIN_CONST \ + (__builtin_constant_p(PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN : 16384) diff --git a/chrome-remote-desktop@.service b/chrome-remote-desktop@.service deleted file mode 100644 index 4b5b1fc..0000000 --- a/chrome-remote-desktop@.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description="Chrome Remote Desktop host daemon" - -[Service] -User=%i -Environment=HOME=%h -ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground -ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop -ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload -Restart=always -TimeoutStopSec=10 - -[Install] -WantedBy=multi-user.target diff --git a/chromium-101.0.4951.41-fedora-user-agent.patch b/chromium-101.0.4951.41-fedora-user-agent.patch deleted file mode 100644 index a328425..0000000 --- a/chromium-101.0.4951.41-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent chromium-101.0.4951.41/content/common/user_agent.cc ---- chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent 2022-04-27 20:03:36.913767022 +0000 -+++ chromium-101.0.4951.41/content/common/user_agent.cc 2022-04-27 20:04:30.591942420 +0000 -@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() { - #elif BUILDFLAG(IS_MAC) - return "Macintosh; "; - #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -- return "X11; "; // strange, but that's what Firefox uses -+ return "X11; Fedora; "; // strange, but that's what Firefox uses - #elif BUILDFLAG(IS_ANDROID) - return "Linux; "; - #elif BUILDFLAG(IS_FUCHSIA) diff --git a/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch b/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch deleted file mode 100644 index 29a5d9c..0000000 --- a/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch +++ /dev/null @@ -1,1700 +0,0 @@ -diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c ---- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c.12 2022-06-28 12:50:10.167324583 +0000 -+++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c 2021-11-14 19:50:55.000000000 +0000 -@@ -1,5 +1,5 @@ - /* -- * Copyright 2011 - 2015 -+ * Copyright 2011 - 2021 - * Andr\xe9 Malo or his licensors, as applicable - * - * Licensed under the Apache License, Version 2.0 (the "License"); -@@ -18,21 +18,21 @@ - #include "cext.h" - EXT_INIT_FUNC; - --#define RJSMIN_DULL_BIT (1 << 0) --#define RJSMIN_PRE_REGEX_BIT (1 << 1) --#define RJSMIN_REGEX_DULL_BIT (1 << 2) --#define RJSMIN_REGEX_CC_DULL_BIT (1 << 3) --#define RJSMIN_ID_LIT_BIT (1 << 4) --#define RJSMIN_ID_LIT_O_BIT (1 << 5) --#define RJSMIN_ID_LIT_C_BIT (1 << 6) --#define RJSMIN_STRING_DULL_BIT (1 << 7) --#define RJSMIN_SPACE_BIT (1 << 8) --#define RJSMIN_POST_REGEX_OFF_BIT (1 << 9) -+#define RJSMIN_DULL_BIT (1 << 0) -+#define RJSMIN_PRE_REGEX_BIT (1 << 1) -+#define RJSMIN_REGEX_DULL_BIT (1 << 2) -+#define RJSMIN_REGEX_CC_DULL_BIT (1 << 3) -+#define RJSMIN_ID_LIT_BIT (1 << 4) -+#define RJSMIN_ID_LIT_O_BIT (1 << 5) -+#define RJSMIN_ID_LIT_C_BIT (1 << 6) -+#define RJSMIN_STRING_DULL_BIT (1 << 7) -+#define RJSMIN_SPACE_BIT (1 << 8) -+#define RJSMIN_POST_REGEX_OFF_BIT (1 << 9) -+#define RJSMIN_A_Z_BIT (1 << 10) - --#ifdef EXT3 --typedef Py_UNICODE rchar; --#else - typedef unsigned char rchar; -+#ifdef U -+#undef U - #endif - #define U(c) ((rchar)(c)) - -@@ -66,66 +66,120 @@ typedef unsigned char rchar; - #define RJSMIN_IS_PRE_REGEX_1(c) ((U(c) <= 127) && \ - (rjsmin_charmask[U(c) & 0x7F] & RJSMIN_PRE_REGEX_BIT)) - -+#define RJSMIN_IS_A_Z(c) ((U(c) <= 127) && \ -+ (rjsmin_charmask[U(c) & 0x7F] & RJSMIN_A_Z_BIT)) -+ - - static const unsigned short rjsmin_charmask[128] = { -- 396, 396, 396, 396, 396, 396, 396, 396, -- 396, 396, 2, 396, 396, 2, 396, 396, -- 396, 396, 396, 396, 396, 396, 396, 396, -- 396, 396, 396, 396, 396, 396, 396, 396, -- 396, 687, 588, 653, 765, 653, 143, 588, -- 687, 205, 653, 237, 143, 237, 141, 648, -- 765, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 143, 143, 653, 143, 653, 143, -- 653, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 683, 513, 197, 653, 765, -- 653, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 765, 765, 765, 765, 765, -- 765, 765, 765, 687, 143, 207, 653, 765 -+ 396, 396, 396, 396, 396, 396, 396, 396, -+ 396, 396, 2, 396, 396, 2, 396, 396, -+ 396, 396, 396, 396, 396, 396, 396, 396, -+ 396, 396, 396, 396, 396, 396, 396, 396, -+ 396, 687, 588, 653, 765, 653, 143, 588, -+ 687, 205, 655, 239, 143, 239, 141, 648, -+ 765, 765, 765, 765, 765, 765, 765, 765, -+ 765, 765, 143, 143, 653, 143, 653, 143, -+ 653, 765, 765, 765, 765, 765, 765, 765, -+ 765, 765, 765, 765, 765, 765, 765, 765, -+ 765, 765, 765, 765, 765, 765, 765, 765, -+ 765, 765, 765, 683, 513, 197, 653, 765, -+ 588, 1789, 1789, 1789, 1789, 1789, 1789, 1789, -+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, -+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, -+ 1789, 1789, 1789, 687, 143, 207, 653, 765 - }; - -+ - static Py_ssize_t - rjsmin(const rchar *source, rchar *target, Py_ssize_t length, - int keep_bang_comments) - { -- const rchar *reset, *pcreset = NULL, *pctoken = NULL, *xtarget, -- *sentinel = source + length; -- rchar *tstart = target; -- int post_regex = 0; -- rchar c, quote, spaced = U(' '); -+ const rchar -+ *sentinel = source + length, /* never hit this pointer (source buf) */ -+ *reset, /* reset pointer (source buf) */ -+ *pcreset = NULL, /* pre-comment reset pointer (source buf) */ -+ *pctoken = NULL, /* pre-comment token pointer (target buf) -+ * Pointing to before the last kept comment, if any */ -+ *rsreset = NULL, /* regex-with-method reset pointer (source buf) */ -+ *xtarget; /* pre-regex-2 target pointer */ -+ -+ rchar *tstart = target, /* Target start pointer for reference */ -+ *rtreset = NULL; /* regex-with-method reset pointer (target buf) */ -+ -+ int rsdot, /* seen dot after regex-with-method pattern? */ -+ post_regex = 0; -+ rchar c, quote, -+ spaced = U(' '); /* the last seen kind of space (nl taking prio), -+ * init with ' ' */ - -+ /* main loop */ - while (source < sentinel) { - c = *source++; -+ - if (RJSMIN_IS_DULL(c)) { - if (post_regex) post_regex = 0; - if (pctoken) pctoken = NULL; - if (spaced == U('\n')) spaced = U(' '); -+ if (rsreset) { -+ /* both a-z and . are covered by "dull" */ -+ if (!rsdot) { -+ if (c != U('.')) { -+ /* reset regex-with-method to the starting slash */ -+ source = rsreset; -+ target = rtreset; -+ rsreset = NULL; -+ continue; /* main loop */ -+ } -+ /* Found a dot after possible regex, looking for a-z now */ -+ rsdot = 1; -+ } -+ else if (!RJSMIN_IS_A_Z(c)) { -+ /* reset regex-with-method to the starting slash */ -+ source = rsreset; -+ target = rtreset; -+ rsreset = NULL; -+ continue; /* main loop */ -+ } -+ else { -+ /* Successfull finish the regex-with-method match */ -+ rsreset = NULL; -+ } -+ } - - *target++ = c; -- continue; -+ continue; /* main loop */ - } -+ - switch (c) { - - /* String */ -- case U('\''): case U('"'): -+ case U('\''): case U('"'): case U('`'): - if (post_regex) post_regex = 0; - if (pctoken) pctoken = NULL; - if (spaced == U('\n')) spaced = U(' '); -+ if (rsreset) { -+ /* reset regex-with-method to the starting slash */ -+ source = rsreset; -+ target = rtreset; -+ rsreset = NULL; -+ continue; /* main loop */ -+ } - - reset = source; - *target++ = quote = c; -+ -+ /* string loop */ - while (source < sentinel) { - c = *source++; - *target++ = c; - if (RJSMIN_IS_STRING_DULL(c)) -- continue; -+ continue; /* string loop */ -+ - switch (c) { -- case U('\''): case U('"'): -+ case U('\''): case U('"'): case U('`'): - if (c == quote) -- goto cont; -- continue; -+ goto cont; /* main loop */ -+ continue; /* string loop */ - case U('\\'): - if (source < sentinel) { - c = *source++; -@@ -134,13 +188,18 @@ rjsmin(const rchar *source, rchar *targe - && *source == U('\n')) - *target++ = *source++; - } -- continue; -+ continue; /* string loop */ -+ case U('\r'): case U('\n'): -+ if (quote != U('`')) -+ break; /* string reset */ -+ continue; /* string loop */ - } -- break; -+ break; /* string reset */ - } -+ /* string reset */ - target -= source - reset; - source = reset; -- continue; -+ continue; /* main loop */ - - /* Comment or Regex or something else entirely */ - case U('/'): -@@ -148,6 +207,13 @@ rjsmin(const rchar *source, rchar *targe - if (post_regex) post_regex = 0; - if (pctoken) pctoken = NULL; - if (spaced == U('\n')) spaced = U(' '); -+ if (rsreset) { -+ /* reset regex-with-method to the starting slash */ -+ source = rsreset; -+ target = rtreset; -+ rsreset = NULL; -+ continue; /* main loop */ -+ } - - *target++ = c; - } -@@ -157,7 +223,19 @@ rjsmin(const rchar *source, rchar *targe - case U('*'): case U('/'): - goto skip_or_copy_ws; - -+ /* Regex or slash */ - default: -+ if (rsreset) { -+ /* reset regex-with-method to the starting slash */ -+ if (post_regex) post_regex = 0; -+ if (pctoken) pctoken = NULL; -+ if (spaced == U('\n')) spaced = U(' '); -+ source = rsreset; -+ target = rtreset; -+ rsreset = NULL; -+ continue; /* main loop */ -+ } -+ - xtarget = NULL; - if ( target == tstart - || RJSMIN_IS_PRE_REGEX_1(*((pctoken ? pctoken : target) -@@ -176,99 +254,148 @@ rjsmin(const rchar *source, rchar *targe - || !RJSMIN_IS_ID_LITERAL(*(xtarget - 7)) - ) - )) { -- -- /* Regex */ -+ /* nothing to do here, continuing down below -+ * We could unset rsreset here, but we know it already -+ * is. */ -+ ; -+ } -+ else if (*((pctoken ? pctoken : target) - 1) == U(')')) { -+ xtarget = NULL; -+ rsreset = source; -+ rtreset = target + 1; -+ rsdot = 0; -+ } -+ else { -+ /* Just a slash */ - if (post_regex) post_regex = 0; - if (pctoken) pctoken = NULL; -+ if (spaced == U('\n')) spaced = U(' '); - -- reset = source; -- if (spaced == U('\n')) { -- spaced = U(' '); -- if (xtarget) -- *target++ = U('\n'); -- } -+ *target++ = c; -+ continue; /* main loop */ -+ } - -- *target++ = U('/'); -- while (source < sentinel) { -- c = *source++; -- *target++ = c; -- if (RJSMIN_IS_REGEX_DULL(c)) -- continue; -- switch (c) { -- case U('/'): -- post_regex = 1; -- goto cont; -- case U('\\'): -- if (source < sentinel) { -- c = *source++; -- *target++ = c; -- if (c == U('\r') || c == U('\n')) -- break; -- } -- continue; -- case U('['): -- while (source < sentinel) { -- c = *source++; -- *target++ = c; -- if (RJSMIN_IS_REGEX_CC_DULL(c)) -- continue; -- switch (c) { -- case U('\\'): -- if (source < sentinel) { -- c = *source++; -- *target++ = c; -- if (c == U('\r') || c == U('\n')) -- break; -- } -- continue; -- case U(']'): -- goto cont_regex; -+ if (post_regex) post_regex = 0; -+ if (pctoken) pctoken = NULL; -+ -+ reset = source; -+ if (spaced == U('\n')) { -+ spaced = U(' '); -+ if (xtarget) -+ *target++ = U('\n'); -+ } -+ -+ *target++ = U('/'); -+ -+ /* regex loop */ -+ while (source < sentinel) { -+ c = *source++; -+ *target++ = c; -+ -+ if (RJSMIN_IS_REGEX_DULL(c)) -+ continue; /* regex loop */ -+ -+ switch (c) { -+ case U('/'): -+ while (source < sentinel -+ && RJSMIN_IS_A_Z(*source)) -+ *target++ = *source++; -+ post_regex = !rsreset; -+ /* This check is supposed to make it faster. -+ * It doesn't. It slows it down. I wonder why... -+ */ -+ /* -+ * if (!post_regex -+ * && source < sentinel - 1 -+ * && *source == U('.') -+ * && RJSMIN_IS_A_Z(*(source + 1))) -+ * rsreset = NULL; -+ */ -+ -+ goto cont; /* main loop */ -+ -+ case U('\\'): -+ if (source < sentinel) { -+ c = *source++; -+ *target++ = c; -+ if (c == U('\r') || c == U('\n')) -+ break; /* regex reset */ -+ } -+ continue; /* regex loop */ -+ -+ case U('['): -+ /* regex CC loop */ -+ while (source < sentinel) { -+ c = *source++; -+ *target++ = c; -+ -+ if (RJSMIN_IS_REGEX_CC_DULL(c)) -+ continue; /* regex CC loop */ -+ -+ switch (c) { -+ case U('\\'): -+ if (source < sentinel) { -+ c = *source++; -+ *target++ = c; -+ if (c == U('\r') || c == U('\n')) -+ break; /* regex reset */ - } -+ continue; /* regex CC loop */ -+ -+ case U(']'): -+ goto cont_regex; /* regex loop */ - } -- break; - } -- break; -- cont_regex: -- continue; -+ break; /* regex reset */ -+ - } -- target -= source - reset; -- source = reset; -- } -- else { -- /* Just a slash */ -- if (post_regex) post_regex = 0; -- if (pctoken) pctoken = NULL; -- if (spaced == U('\n')) spaced = U(' '); -+ break; /* regex reset */ - -- *target++ = c; -+ cont_regex: -+ continue; /* regex loop */ - } -- continue; -+ -+ /* regex reset */ -+ target -= source - reset; -+ source = reset; -+ rsreset = NULL; -+ continue; /* main loop */ - } - } -- continue; -+ continue; /* main loop */ /* LCOV_EXCL_LINE */ - - /* Whitespace */ - default: - skip_or_copy_ws: -+ /* remember if we've seen a newline, start with: no */ - quote = U(' '); - --source; -+ -+ /* space loop */ - while (source < sentinel) { - c = *source++; - if (RJSMIN_IS_SPACE(c)) -- continue; -+ continue; /* space loop */ -+ - switch (c) { - case U('\r'): case U('\n'): - quote = U('\n'); -- continue; -+ continue; /* space loop */ -+ -+ /* Can only be a comment at this point -+ * (or ending prematurely) */ - case U('/'): - if (source < sentinel) { - switch (*source) { -+ -+ /* multiline comment */ - case U('*'): - reset = source++; - /* copy bang comment, if requested */ - if ( keep_bang_comments && source < sentinel - && *source == U('!')) { - if (!pctoken) { -+ /* Backtracking if ending prematurely */ - pctoken = target; - pcreset = reset; - } -@@ -276,6 +403,8 @@ rjsmin(const rchar *source, rchar *targe - *target++ = U('/'); - *target++ = U('*'); - *target++ = *source++; -+ -+ /* comment loop */ - while (source < sentinel) { - c = *source++; - *target++ = c; -@@ -283,20 +412,21 @@ rjsmin(const rchar *source, rchar *targe - && *source == U('/')) { - *target++ = *source++; - reset = NULL; -- break; -+ break; /* continue space loop */ - } - } - if (!reset) -- continue; -+ continue; /* space loop */ - -+ /* comment reset */ - target -= source - reset; - source = reset; - if (pcreset == reset) { - pctoken = NULL; - pcreset = NULL; - } -- - } -+ - /* strip regular comment */ - else { - while (source < sentinel) { -@@ -305,41 +435,52 @@ rjsmin(const rchar *source, rchar *targe - && *source == U('/')) { - ++source; - reset = NULL; -- break; -+ break; /* continue space loop */ - } - } - if (!reset) -- continue; -+ continue; /* space loop */ -+ -+ /* comment reset: fallback to slash */ - source = reset; - *target++ = U('/'); - } -- goto cont; -+ goto cont; /* main loop */ -+ -+ /* single line comment */ - case U('/'): - ++source; -+ -+ /* single line comment loop */ - while (source < sentinel) { - c = *source++; - switch (c) { - case U('\n'): -- break; -+ break; /* continue space loop */ -+ - case U('\r'): - if (source < sentinel - && *source == U('\n')) - ++source; -- break; -+ break; /* continue space loop */ -+ - default: -- continue; -+ continue; /* single line comment loop */ - } -- break; -+ break; /* continue space loop */ - } - quote = U('\n'); -- continue; -+ continue; /* space loop */ - } - } - } -+ -+ /* No more spacy character found */ - --source; -- break; -+ break; /* end space loop */ - } - -+ /* Copy a space if needed */ - if ((tstart < (pctoken ? pctoken : target) && source < sentinel) - && ((quote == U('\n') - && ((RJSMIN_IS_ID_LITERAL_CLOSE(*((pctoken ? -@@ -363,8 +504,9 @@ rjsmin(const rchar *source, rchar *targe - pcreset = NULL; - spaced = quote; - } -+ - cont: -- continue; -+ continue; /* main loop */ - } - return (Py_ssize_t)(target - tstart); - } -@@ -385,15 +527,15 @@ substitution regex.\n\ - :Note: This is a hand crafted C implementation built on the regex\n\ - semantics.\n\ - \n\ --:Parameters:\n\ -- `script` : ``str``\n\ -+Parameters:\n\ -+ script (str):\n\ - Script to minify\n\ - \n\ -- `keep_bang_comments` : ``bool``\n\ -+ keep_bang_comments (bool):\n\ - Keep comments starting with an exclamation mark? (``/*!...*/``)\n\ - \n\ --:Return: Minified script\n\ --:Rtype: ``str``"); -+Returns:\n\ -+ str: Minified script"); - - static PyObject * - rjsmin_jsmin(PyObject *self, PyObject *args, PyObject *kwds) -@@ -404,15 +546,15 @@ rjsmin_jsmin(PyObject *self, PyObject *a - int keep_bang_comments; - #ifdef EXT2 - int uni; --#define UOBJ "O" - #endif - #ifdef EXT3 --#define UOBJ "U" -+ int bytes; -+ rchar *bytescript; - #endif - -- if (!PyArg_ParseTupleAndKeywords(args, kwds, UOBJ "|O", kwlist, -+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O", kwlist, - &script, &keep_bang_comments_)) -- return NULL; -+ LCOV_EXCL_LINE_RETURN(NULL); - - if (!keep_bang_comments_) - keep_bang_comments = 0; -@@ -425,28 +567,27 @@ rjsmin_jsmin(PyObject *self, PyObject *a - #ifdef EXT2 - if (PyUnicode_Check(script)) { - if (!(script = PyUnicode_AsUTF8String(script))) -- return NULL; -+ LCOV_EXCL_LINE_RETURN(NULL); - uni = 1; - } -+ else if (!PyString_Check(script)) { -+ PyErr_SetString(PyExc_TypeError, "Unexpected type"); -+ return NULL; -+ } - else { - if (!(script = PyObject_Str(script))) -- return NULL; -+ LCOV_EXCL_LINE_RETURN(NULL); - uni = 0; - } --#endif -- --#ifdef EXT3 -- Py_INCREF(script); --#define PyString_GET_SIZE PyUnicode_GET_SIZE --#define PyString_AS_STRING PyUnicode_AS_UNICODE --#define _PyString_Resize PyUnicode_Resize --#define PyString_FromStringAndSize PyUnicode_FromUnicode --#endif -- - slength = PyString_GET_SIZE(script); -+ - if (!(result = PyString_FromStringAndSize(NULL, slength))) { -+ LCOV_EXCL_START -+ - Py_DECREF(script); - return NULL; -+ -+ LCOV_EXCL_STOP - } - Py_BEGIN_ALLOW_THREADS - length = rjsmin((rchar *)PyString_AS_STRING(script), -@@ -456,30 +597,97 @@ rjsmin_jsmin(PyObject *self, PyObject *a - - Py_DECREF(script); - if (length < 0) { -+ LCOV_EXCL_START -+ - Py_DECREF(result); - return NULL; -+ -+ LCOV_EXCL_STOP - } - if (length != slength && _PyString_Resize(&result, length) == -1) -- return NULL; -+ LCOV_EXCL_LINE_RETURN(NULL); - --#ifdef EXT2 - if (uni) { - script = PyUnicode_DecodeUTF8(PyString_AS_STRING(result), - PyString_GET_SIZE(result), "strict"); - Py_DECREF(result); -- if (!script) -- return NULL; -- result = script; -+ return script; - } --#endif -+ - return result; -+ -+#else /* EXT3 */ -+ -+ if (PyUnicode_Check(script)) { -+ bytes = 0; -+ script = PyUnicode_AsUTF8String(script); -+ bytescript = (rchar *)PyBytes_AS_STRING(script); -+ slength = PyBytes_GET_SIZE(script); -+ } -+ else if (PyBytes_Check(script)) { -+ bytes = 1; -+ Py_INCREF(script); -+ bytescript = (rchar *)PyBytes_AS_STRING(script); -+ slength = PyBytes_GET_SIZE(script); -+ } -+ else if (PyByteArray_Check(script)) { -+ bytes = 2; -+ Py_INCREF(script); -+ bytescript = (rchar *)PyByteArray_AS_STRING(script); -+ slength = PyByteArray_GET_SIZE(script); -+ } -+ else { -+ PyErr_SetString(PyExc_TypeError, "Unexpected type"); -+ return NULL; -+ } -+ -+ if (!(result = PyBytes_FromStringAndSize(NULL, slength))) { -+ LCOV_EXCL_START -+ -+ Py_DECREF(script); -+ return NULL; -+ -+ LCOV_EXCL_STOP -+ } -+ Py_BEGIN_ALLOW_THREADS -+ length = rjsmin(bytescript, (rchar *)PyBytes_AS_STRING(result), -+ slength, keep_bang_comments); -+ Py_END_ALLOW_THREADS -+ -+ Py_DECREF(script); -+ if (length < 0) { -+ LCOV_EXCL_START -+ -+ Py_DECREF(result); -+ return NULL; -+ -+ LCOV_EXCL_STOP -+ } -+ -+ if (!bytes) { -+ script = PyUnicode_DecodeUTF8(PyBytes_AS_STRING(result), length, -+ "strict"); -+ Py_DECREF(result); -+ return script; -+ } -+ if (bytes == 1) { -+ if (length != slength) { -+ _PyBytes_Resize(&result, length); -+ } -+ return result; -+ } -+ /* bytes == 2: bytearray */ -+ script = PyByteArray_FromStringAndSize(PyBytes_AS_STRING(result), length); -+ Py_DECREF(result); -+ return script; -+#endif - } - - /* ------------------------ BEGIN MODULE DEFINITION ------------------------ */ - - EXT_METHODS = { - {"jsmin", -- (PyCFunction)rjsmin_jsmin, METH_VARARGS | METH_KEYWORDS, -+ EXT_CFUNC(rjsmin_jsmin), METH_VARARGS | METH_KEYWORDS, - rjsmin_jsmin__doc__}, - - {NULL} /* Sentinel */ -@@ -499,10 +707,10 @@ EXT_INIT_FUNC { - - /* Create the module and populate stuff */ - if (!(m = EXT_CREATE(&EXT_DEFINE_VAR))) -- EXT_INIT_ERROR(NULL); -+ EXT_INIT_ERROR(LCOV_EXCL_LINE(NULL)); - - EXT_ADD_UNICODE(m, "__author__", "Andr\xe9 Malo", "latin-1"); -- EXT_ADD_STRING(m, "__docformat__", "restructuredtext en"); -+ EXT_ADD_STRING(m, "__version__", STRINGIFY(EXT_VERSION)); - - EXT_INIT_RETURN(m); - } -diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py ---- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py.12 2022-07-01 20:33:39.317727375 +0000 -+++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py 2021-11-14 20:24:16.000000000 +0000 -@@ -1,6 +1,6 @@ - #!/usr/bin/env python - # -*- coding: ascii -*- --r""" -+u""" - ===================== - Javascript Minifier - ===================== -@@ -11,7 +11,7 @@ The minifier is based on the semantics o - - :Copyright: - -- Copyright 2011 - 2015 -+ Copyright 2011 - 2021 - Andr\xe9 Malo or his licensors, as applicable - - :License: -@@ -39,9 +39,11 @@ same results as the original ``jsmin.c`` - - Newline characters are not allowed inside string and regex literals, except - for line continuations in string literals (ECMA-5). - - "return /regex/" is recognized correctly. -+- More characters are allowed before regexes. - - Line terminators after regex literals are handled more sensibly - - "+ +" and "- -" sequences are not collapsed to '++' or '--' - - Newlines before ! operators are removed more sensibly -+- (Unnested) template literals are supported (ECMA-6) - - Comments starting with an exclamation mark (``!``) can be kept optionally - - rJSmin does not handle streams, but only complete strings. (However, the - module provides a "streamy" interface). -@@ -56,20 +58,17 @@ file for details. - - rjsmin.c is a reimplementation of rjsmin.py in C and speeds it up even more. - --Both python 2 and python 3 are supported. -+Supported python versions are 2.7 and 3.6+. - - .. _jsmin.c by Douglas Crockford: - http://www.crockford.com/javascript/jsmin.c - """ --if __doc__: -- # pylint: disable = redefined-builtin -- __doc__ = __doc__.encode('ascii').decode('unicode_escape') --__author__ = r"Andr\xe9 Malo".encode('ascii').decode('unicode_escape') --__docformat__ = "restructuredtext en" -+__author__ = u"Andr\xe9 Malo" - __license__ = "Apache License, Version 2.0" --__version__ = '1.0.12' -+__version__ = '1.2.0' - __all__ = ['jsmin'] - -+import functools as _ft - import re as _re - - -@@ -80,13 +79,13 @@ def _make_jsmin(python_only=False): - .. _jsmin.c by Douglas Crockford: - http://www.crockford.com/javascript/jsmin.c - -- :Parameters: -- `python_only` : ``bool`` -+ Parameters: -+ python_only (bool): - Use only the python variant. If true, the c extension is not even - tried to be loaded. - -- :Return: Minifier -- :Rtype: ``callable`` -+ Returns: -+ callable: Minifier - """ - # pylint: disable = unused-variable - # pylint: disable = too-many-locals -@@ -97,7 +96,10 @@ def _make_jsmin(python_only=False): - except ImportError: - pass - else: -- return _rjsmin.jsmin -+ # Ensure that the C version is in sync -+ # https://github.com/ndparker/rjsmin/issues/11 -+ if getattr(_rjsmin, '__version__', None) == __version__: -+ return _rjsmin.jsmin - try: - xrange - except NameError: -@@ -110,15 +112,16 @@ def _make_jsmin(python_only=False): - space_comment_nobang = r'(?:/\*(?!!)[^*]*\*+(?:[^/*][^*]*\*+)*/)' - bang_comment = r'(?:/\*![^*]*\*+(?:[^/*][^*]*\*+)*/)' - -- string1 = \ -- r'(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)' -+ string1 = r"(?:'[^'\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^'\\\r\n]*)*')" -+ string1 = string1.replace("'", r'\047') # portability - string2 = r'(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^"\\\r\n]*)*")' -- string3 = r'(?:`(?:[^`\\]|\\.)*`)' -+ string3 = r'(?:`[^`\\]*(?:\\(?:[^\r\n]|\r?\n|\r)[^`\\]*)*`)' -+ string3 = string3.replace('`', r'\140') # portability - strings = r'(?:%s|%s|%s)' % (string1, string2, string3) - - charclass = r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\])' - nospecial = r'[^/\\\[\r\n]' -- regex = r'(?:/(?![\r\n/*])%s*(?:(?:\\[^\r\n]|%s)%s*)*/)' % ( -+ regex = r'(?:/(?![\r\n/*])%s*(?:(?:\\[^\r\n]|%s)%s*)*/[a-z]*)' % ( - nospecial, charclass, nospecial - ) - space = r'(?:%s|%s)' % (space_chars, space_comment) -@@ -154,7 +157,7 @@ def _make_jsmin(python_only=False): - ) for first, last in result]) # noqa - - return _re.sub( -- r'([\000-\040\047])', # \047 for better portability -+ r"([\000-\040'`])", # ' and ` for better portability - lambda m: '\\%03o' % ord(m.group(1)), ( - sequentize(result) - .replace('\\', '\\\\') -@@ -180,42 +183,48 @@ def _make_jsmin(python_only=False): - return r'[%s]' % fix_charclass(result) - - not_id_literal = not_id_literal_(r'[a-zA-Z0-9_$]') -- preregex1 = r'[(,=:\[!&|?{};\r\n]' -+ preregex1 = r'[(,=:\[!&|?{};\r\n+*-]' - preregex2 = r'%(not_id_literal)sreturn' % locals() - - id_literal = id_literal_(r'[a-zA-Z0-9_$]') - id_literal_open = id_literal_(r'[a-zA-Z0-9_${\[(!+-]') -- id_literal_close = id_literal_(r'[a-zA-Z0-9_$}\])"\047+-]') -+ id_literal_close = id_literal_(r'[a-zA-Z0-9_$}\])"\047\140+-]') - post_regex_off = id_literal_(r'[^\000-\040}\])?:|,;.&=+-]') - -- dull = r'[^\047"`/\000-\040]' -+ dull = r'[^\047"\140/\000-\040]' - - space_sub_simple = _re.compile(( -- # noqa pylint: disable = bad-continuation -+ # noqa pylint: disable = bad-option-value, bad-continuation - - r'(%(dull)s+)' # 0 - r'|(%(strings)s%(dull)s*)' # 1 -- r'|(?<=%(preregex1)s)' -+ r'|(?<=[)])' - r'%(space)s*(?:%(newline)s%(space)s*)*' - r'(%(regex)s)' # 2 -- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 3 -+ r'(?=%(space)s*(?:%(newline)s%(space)s*)*' -+ r'\.' -+ r'%(space)s*(?:%(newline)s%(space)s*)*[a-z])' -+ r'|(?<=%(preregex1)s)' -+ r'%(space)s*(?:%(newline)s%(space)s*)*' -+ r'(%(regex)s)' # 3 -+ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4 - r'(?=%(post_regex_off)s))?' - r'|(?<=%(preregex2)s)' -- r'%(space)s*(?:(%(newline)s)%(space)s*)*' # 4 -- r'(%(regex)s)' # 5 -- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 6 -+ r'%(space)s*(?:(%(newline)s)%(space)s*)*' # 5 -+ r'(%(regex)s)' # 6 -+ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 7 - r'(?=%(post_regex_off)s))?' - r'|(?<=%(id_literal_close)s)' -- r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 7 -+ r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 8 - r'(?=%(id_literal_open)s)' -- r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 8 -- r'|(?<=\+)(%(space)s)+(?=\+)' # 9 -- r'|(?<=-)(%(space)s)+(?=-)' # 10 -+ r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 9 -+ r'|(?<=\+)(%(space)s)+(?=\+)' # 10 -+ r'|(?<=-)(%(space)s)+(?=-)' # 11 - r'|%(space)s+' - r'|(?:%(newline)s%(space)s*)+' - ) % locals()).sub - -- # print space_sub_simple.__self__.pattern -+ # print(space_sub_simple.__self__.pattern) - - def space_subber_simple(match): - """ Substitution callback """ -@@ -227,48 +236,56 @@ def _make_jsmin(python_only=False): - elif groups[1]: - return groups[1] - elif groups[2]: -- if groups[3]: -- return groups[2] + '\n' - return groups[2] -- elif groups[5]: -+ elif groups[3]: -+ if groups[4]: -+ return groups[3] + '\n' -+ return groups[3] -+ elif groups[6]: - return "%s%s%s" % ( -- groups[4] and '\n' or '', -- groups[5], -- groups[6] and '\n' or '', -+ groups[5] and '\n' or '', -+ groups[6], -+ groups[7] and '\n' or '', - ) -- elif groups[7]: -+ elif groups[8]: - return '\n' -- elif groups[8] or groups[9] or groups[10]: -+ elif groups[9] or groups[10] or groups[11]: - return ' ' - else: - return '' - - space_sub_banged = _re.compile(( -- # noqa pylint: disable = bad-continuation -+ # noqa pylint: disable = bad-option-value, bad-continuation - - r'(%(dull)s+)' # 0 - r'|(%(strings)s%(dull)s*)' # 1 -- r'|(?<=%(preregex1)s)' -+ r'|(?<=[)])' - r'(%(space)s*(?:%(newline)s%(space)s*)*)' # 2 - r'(%(regex)s)' # 3 -- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4 -+ r'(?=%(space)s*(?:%(newline)s%(space)s*)*' -+ r'\.' -+ r'%(space)s*(?:%(newline)s%(space)s*)*[a-z])' -+ r'|(?<=%(preregex1)s)' -+ r'(%(space)s*(?:%(newline)s%(space)s*)*)' # 4 -+ r'(%(regex)s)' # 5 -+ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 6 - r'(?=%(post_regex_off)s))?' - r'|(?<=%(preregex2)s)' -- r'(%(space)s*(?:(%(newline)s)%(space)s*)*)' # 5, 6 -- r'(%(regex)s)' # 7 -- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 8 -+ r'(%(space)s*(?:(%(newline)s)%(space)s*)*)' # 7, 8 -+ r'(%(regex)s)' # 9 -+ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 10 - r'(?=%(post_regex_off)s))?' - r'|(?<=%(id_literal_close)s)' -- r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 9 -+ r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 11 - r'(?=%(id_literal_open)s)' -- r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 10 -- r'|(?<=\+)(%(space)s+)(?=\+)' # 11 -- r'|(?<=-)(%(space)s+)(?=-)' # 12 -- r'|(%(space)s+)' # 13 -- r'|((?:%(newline)s%(space)s*)+)' # 14 -+ r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 12 -+ r'|(?<=\+)(%(space)s+)(?=\+)' # 13 -+ r'|(?<=-)(%(space)s+)(?=-)' # 14 -+ r'|(%(space)s+)' # 15 -+ r'|((?:%(newline)s%(space)s*)+)' # 16 - ) % locals()).sub - -- # print space_sub_banged.__self__.pattern -+ # print(space_sub_banged.__self__.pattern) - - keep = _re.compile(( - r'%(space_chars)s+|%(space_comment_nobang)s+|%(newline)s+' -@@ -276,7 +293,7 @@ def _make_jsmin(python_only=False): - ) % locals()).sub - keeper = lambda m: m.groups()[0] or '' - -- # print keep.__self__.pattern -+ # print(keep.__self__.pattern) - - def space_subber_banged(match): - """ Substitution callback """ -@@ -288,26 +305,34 @@ def _make_jsmin(python_only=False): - elif groups[1]: - return groups[1] - elif groups[3]: -- return "%s%s%s%s" % ( -+ return "%s%s" % ( - keep(keeper, groups[2]), - groups[3], -- keep(keeper, groups[4] or ''), -- groups[4] and '\n' or '', - ) -- elif groups[7]: -- return "%s%s%s%s%s" % ( -- keep(keeper, groups[5]), -+ elif groups[5]: -+ return "%s%s%s%s" % ( -+ keep(keeper, groups[4]), -+ groups[5], -+ keep(keeper, groups[6] or ''), - groups[6] and '\n' or '', -- groups[7], -- keep(keeper, groups[8] or ''), -- groups[8] and '\n' or '', - ) - elif groups[9]: -- return keep(keeper, groups[9]) + '\n' -- elif groups[10] or groups[11] or groups[12]: -- return keep(keeper, groups[10] or groups[11] or groups[12]) or ' ' -+ return "%s%s%s%s%s" % ( -+ keep(keeper, groups[7]), -+ groups[8] and '\n' or '', -+ groups[9], -+ keep(keeper, groups[10] or ''), -+ groups[10] and '\n' or '', -+ ) -+ elif groups[11]: -+ return keep(keeper, groups[11]) + '\n' -+ elif groups[12] or groups[13] or groups[14]: -+ return keep(keeper, groups[12] or groups[13] or groups[14]) or ' ' - else: -- return keep(keeper, groups[13] or groups[14]) -+ return keep(keeper, groups[15] or groups[16]) -+ -+ banged = _ft.partial(space_sub_banged, space_subber_banged) -+ simple = _ft.partial(space_sub_simple, space_subber_simple) - - def jsmin(script, keep_bang_comments=False): - r""" -@@ -320,32 +345,51 @@ def _make_jsmin(python_only=False): - .. _jsmin.c by Douglas Crockford: - http://www.crockford.com/javascript/jsmin.c - -- :Parameters: -- `script` : ``str`` -+ Parameters: -+ script (str): - Script to minify - -- `keep_bang_comments` : ``bool`` -+ keep_bang_comments (bool): - Keep comments starting with an exclamation mark? (``/*!...*/``) - -- :Return: Minified script -- :Rtype: ``str`` -+ Returns: -+ str: Minified script - """ - # pylint: disable = redefined-outer-name - -- if keep_bang_comments: -- return space_sub_banged( -- space_subber_banged, '\n%s\n' % script -- ).strip() -- else: -- return space_sub_simple( -- space_subber_simple, '\n%s\n' % script -- ).strip() -+ is_bytes, script = _as_str(script) -+ script = (banged if keep_bang_comments else simple)( -+ '\n%s\n' % script -+ ).strip() -+ if is_bytes: -+ script = script.encode('latin-1') -+ if is_bytes == 2: -+ script = bytearray(script) -+ return script - - return jsmin - - jsmin = _make_jsmin() - - -+def _as_str(script): -+ """ Make sure the script is a text string """ -+ is_bytes = False -+ if str is bytes: -+ if not isinstance(script, basestring): # noqa pylint: disable = undefined-variable -+ raise TypeError("Unexpected type") -+ elif isinstance(script, bytes): -+ is_bytes = True -+ script = script.decode('latin-1') -+ elif isinstance(script, bytearray): -+ is_bytes = 2 -+ script = script.decode('latin-1') -+ elif not isinstance(script, str): -+ raise TypeError("Unexpected type") -+ -+ return is_bytes, script -+ -+ - def jsmin_for_posers(script, keep_bang_comments=False): - r""" - Minify javascript based on `jsmin.c by Douglas Crockford`_\. -@@ -361,49 +405,61 @@ def jsmin_for_posers(script, keep_bang_c - utilizes the resulting regexes. It's here for fun and may - vanish any time. Use the `jsmin` function instead. - -- :Parameters: -- `script` : ``str`` -+ Parameters: -+ script (str): - Script to minify - -- `keep_bang_comments` : ``bool`` -+ keep_bang_comments (bool): - Keep comments starting with an exclamation mark? (``/*!...*/``) - -- :Return: Minified script -- :Rtype: ``str`` -+ Returns: -+ str: Minified script - """ - if not keep_bang_comments: - rex = ( -- r'([^\047"/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]' -- r'|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]' -- r'|\r?\n|\r)[^"\\\r\n]*)*"))[^\047"/\000-\040]*)|(?<=[(,=:\[!&|?' -- r'{};\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*' -- r'][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\0' -- r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r' -- r'\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r' -- r'\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\014' -+ r'([^\047"\140/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^' -+ r'\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^' -+ r'\r\n]|\r?\n|\r)[^"\\\r\n]*)*")|(?:\140[^\140\\]*(?:\\(?:[^\r\n' -+ r']|\r?\n|\r)[^\140\\]*)*\140))[^\047"\140/\000-\040]*)|(?<=[)])' -+ r'(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+' -+ r')*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\0' -+ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r\n/*])[^/' -+ r'\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]' -+ r'\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))(?=(?:[\000-\011\013\014\0' -+ r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n' -+ r']*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^' -+ r'/*][^*]*\*+)*/))*)*\.(?:[\000-\011\013\014\016-\040]|(?:/\*[^*' -+ r']*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\00' -+ r'0-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)' -+ r'*[a-z])|(?<=[(,=:\[!&|?{};\r\n+*-])(?:[\000-\011\013\014\016-' -+ r'\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)' -+ r'?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*]' -+ r'[^*]*\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|' -+ r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*' -+ r'/[a-z]*))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/' -+ r'*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013' -+ r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000' -+ r'-\040&)+,.:;=?\]|}-]))?|(?<=[\000-#%-,./:-@\[-^\140{-~-]return' -+ r')(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*' -+ r'+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016' -+ r'-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r\n/*])' -+ r'[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^' -+ r'\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))((?:[\000-\011\013\014' - r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r' - r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' -- r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00' -- r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?' -- r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]' -- r'))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*' -- r'\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[' -- r'[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((' -- r'?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)' -- r'*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\04' -- r'0]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;' -- r'=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])(?:[\000-\011\01' -- r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?:' -- r'//[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]' -- r'*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^' -- r'`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\013\014\0' -- r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./' -- r':-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[' -- r'^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013' -- r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:[' -- r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)' -- r')+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]' -- r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+' -+ r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[^\0' -+ r'00-!#%&(*,./:-@\[\\^{|~])(?:[\000-\011\013\014\016-\040]|(?:/' -+ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))' -+ r'(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+' -+ r')*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^\140|-~])|(?<=[^\000' -+ r'-#%-,./:-@\[-^\140{-~-])((?:[\000-\011\013\014\016-\040]|(?:/' -+ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./:-@\[-^\140{-' -+ r'~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' -+ r'[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013\014\016-\0' -+ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:[\000-\011\0' -+ r'13\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+|(?:(?:(?' -+ r'://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]' -+ r'*\*+(?:[^/*][^*]*\*+)*/))*)+' - ) - - def subber(match): -@@ -412,59 +468,72 @@ def jsmin_for_posers(script, keep_bang_c - return ( - groups[0] or - groups[1] or -- (groups[3] and (groups[2] + '\n')) or - groups[2] or -- (groups[5] and "%s%s%s" % ( -- groups[4] and '\n' or '', -- groups[5], -- groups[6] and '\n' or '', -+ (groups[4] and (groups[3] + '\n')) or -+ groups[3] or -+ (groups[6] and "%s%s%s" % ( -+ groups[5] and '\n' or '', -+ groups[6], -+ groups[7] and '\n' or '', - )) or -- (groups[7] and '\n') or -- (groups[8] and ' ') or -+ (groups[8] and '\n') or - (groups[9] and ' ') or - (groups[10] and ' ') or -+ (groups[11] and ' ') or - '' - ) - else: - rex = ( -- r'([^\047"/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]' -- r'|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]' -- r'|\r?\n|\r)[^"\\\r\n]*)*"))[^\047"/\000-\040]*)|(?<=[(,=:\[!&|?' -- r'{};\r\n])((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/' -- r'*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013' -- r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?!' -- r'[\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^' -- r'\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\01' -- r'4\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^' -+ r'([^\047"\140/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^' -+ r'\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^' -+ r'\r\n]|\r?\n|\r)[^"\\\r\n]*)*")|(?:\140[^\140\\]*(?:\\(?:[^\r\n' -+ r']|\r?\n|\r)[^\140\\]*)*\140))[^\047"\140/\000-\040]*)|(?<=[)])' -+ r'((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*' -+ r'+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-' -+ r'\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?![\r\n/*])' -+ r'[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^' -+ r'\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))(?=(?:[\000-\011\013\0' -+ r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^' - r'\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(' -- r'?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[' -- r'\000-#%-,./:-@\[-^`{-~-]return)((?:[\000-\011\013\014\016-\040' -- r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[' -- r'\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][' -- r'^*]*\*+)*/))*)*)((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|' -- r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*' -- r'/))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]' -- r'*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\01' -- r'6-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)' -- r'+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])((?:[\000-' -- r'\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:' -- r'(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/' -- r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)(?=[^\000-\040"#%-\047)*,./' -- r':-@\\-^`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\01' -- r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=[^\000' -- r'-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|' -- r'(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=\+)|(?<=-)((?:[\000-\0' -- r'11\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=-' -- r')|((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*' -- r'\*+)*/))+)|((?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014' -- r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)' -+ r'?:[^/*][^*]*\*+)*/))*)*\.(?:[\000-\011\013\014\016-\040]|(?:/' -+ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?' -+ r':[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*' -+ r'/))*)*[a-z])|(?<=[(,=:\[!&|?{};\r\n+*-])((?:[\000-\011\013\014' -+ r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r' -+ r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' -+ r'[^/*][^*]*\*+)*/))*)*)((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^' -+ r'\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r' -+ r'\n]*)*/[a-z]*))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+' -+ r'(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\01' -+ r'1\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[' -+ r'^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\000-#%-,./:-@\[-^\140{-~-]r' -+ r'eturn)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][' -+ r'^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013\0' -+ r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?![' -+ r'\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^' -+ r'\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))((?:[\000-\011' -+ r'\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(' -+ r'?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*' -+ r']*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|' -+ r'(?<=[^\000-!#%&(*,./:-@\[\\^{|~])((?:[\000-\011\013\014\016-\0' -+ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[' -+ r'\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^' -+ r'*]*\*+)*/))*)+)(?=[^\000-\040"#%-\047)*,./:-@\\-^\140|-~])|(?<' -+ r'=[^\000-#%-,./:-@\[-^\140{-~-])((?:[\000-\011\013\014\016-\040' -+ r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=[^\000-#%-,./:-@\[-^' -+ r'\140{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*' -+ r'\*+(?:[^/*][^*]*\*+)*/))+)(?=\+)|(?<=-)((?:[\000-\011\013\014' -+ r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=-)|((?:[\00' -+ r'0-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)' -+ r'|((?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|' -+ r'(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)' - ) - -- keep = _re.compile(( -+ keep = _re.compile( - r'[\000-\011\013\014\016-\040]+|(?:/\*(?!!)[^*]*\*+(?:[^/*][^*]*' - r'\*+)*/)+|(?:(?://[^\r\n]*)?[\r\n])+|((?:/\*![^*]*\*+(?:[^/*][^' - r'*]*\*+)*/)+)' -- ) % locals()).sub -+ ).sub - keeper = lambda m: m.groups()[0] or '' - - def subber(match): -@@ -473,27 +542,37 @@ def jsmin_for_posers(script, keep_bang_c - return ( - groups[0] or - groups[1] or -- (groups[3] and "%s%s%s%s" % ( -+ groups[3] and "%s%s" % ( - keep(keeper, groups[2]), - groups[3], -- keep(keeper, groups[4] or ''), -- groups[4] and '\n' or '', -- )) or -- (groups[7] and "%s%s%s%s%s" % ( -- keep(keeper, groups[5]), -+ ) or -+ groups[5] and "%s%s%s%s" % ( -+ keep(keeper, groups[4]), -+ groups[5], -+ keep(keeper, groups[6] or ''), - groups[6] and '\n' or '', -- groups[7], -- keep(keeper, groups[8] or ''), -+ ) or -+ groups[9] and "%s%s%s%s%s" % ( -+ keep(keeper, groups[7]), - groups[8] and '\n' or '', -- )) or -- (groups[9] and keep(keeper, groups[9] + '\n')) or -- (groups[10] and keep(keeper, groups[10]) or ' ') or -- (groups[11] and keep(keeper, groups[11]) or ' ') or -- (groups[12] and keep(keeper, groups[12]) or ' ') or -- keep(keeper, groups[13] or groups[14]) -+ groups[9], -+ keep(keeper, groups[10] or ''), -+ groups[10] and '\n' or '', -+ ) or -+ groups[11] and (keep(keeper, groups[11]) + '\n') or -+ groups[12] and (keep(keeper, groups[12]) or ' ') or -+ groups[13] and (keep(keeper, groups[13]) or ' ') or -+ groups[14] and (keep(keeper, groups[14]) or ' ') or -+ keep(keeper, groups[15] or groups[16]) - ) - -- return _re.sub(rex, subber, '\n%s\n' % script).strip() -+ is_bytes, script = _as_str(script) -+ script = _re.sub(rex, subber, '\n%s\n' % script).strip() -+ if is_bytes: -+ script = script.encode('latin-1') -+ if is_bytes == 2: -+ script = bytearray(script) -+ return script - - - if __name__ == '__main__': -diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py ---- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py.12 2022-06-28 12:50:10.171324444 +0000 -+++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py 2021-11-05 17:03:12.000000000 +0000 -@@ -1,41 +1,264 @@ - #!/usr/bin/env python - # -*- coding: ascii -*- --# --# Copyright 2006 - 2013 --# Andr\xe9 Malo or his licensors, as applicable --# --# Licensed under the Apache License, Version 2.0 (the "License"); --# you may not use this file except in compliance with the License. --# You may obtain a copy of the License at --# --# http://www.apache.org/licenses/LICENSE-2.0 --# --# Unless required by applicable law or agreed to in writing, software --# distributed under the License is distributed on an "AS IS" BASIS, --# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --# See the License for the specific language governing permissions and --# limitations under the License. -+u""" -+:Copyright: - -+ Copyright 2011 - 2021 -+ Andr\xe9 Malo or his licensors, as applicable -+ -+:License: -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -+ -+=========================================== -+ rJSmin - A Javascript Minifier For Python -+=========================================== -+ -+rJSmin - A Javascript Minifier For Python. -+""" -+from __future__ import print_function -+__author__ = u"Andr\xe9 Malo" -+__docformat__ = "restructuredtext en" -+ -+import os as _os -+import posixpath as _posixpath - import sys as _sys --from _setup import run - -+# pylint: disable = no-name-in-module, import-error, raise-missing-from -+import setuptools as _setuptools -+ -+# pylint: disable = invalid-name -+ -+ -+def _doc(filename): -+ """ Read docs file """ -+ # pylint: disable = unspecified-encoding -+ args = {} if str is bytes else dict(encoding='utf-8') -+ try: -+ with open(_os.path.join('docs', filename), **args) as fp: -+ return fp.read() -+ except IOError: -+ return None -+ -+ -+def _lines(multiline): -+ """ Split multiline string into single line % empty and comments """ -+ return [line for line in ( -+ line.strip() for line in multiline.splitlines(False) -+ ) if line and not line.startswith('#')] -+ -+ -+package = dict( -+ name='rjsmin', -+ top='.', -+ pathname='.', -+ provides=_doc('PROVIDES'), -+ desc=_doc('SUMMARY').strip(), -+ longdesc=_doc('DESCRIPTION'), -+ author=__author__, -+ email='nd@perlig.de', -+ license="Apache License, Version 2.0", -+ keywords=_lines(_doc('KEYWORDS')), -+ url='http://opensource.perlig.de/rjsmin/', -+ classifiers=_lines(_doc('CLASSIFIERS') or ''), -+ -+ packages=False, -+ py_modules=['rjsmin'], -+ version_file='rjsmin.py', -+ install_requires=[], -+) -+ -+ -+class BuildFailed(Exception): -+ """ The build has failed """ -+ -+ -+from distutils.command import build_ext as _build_ext # pylint: disable = wrong-import-order -+from distutils import errors as _errors # pylint: disable = wrong-import-order -+class build_ext(_build_ext.build_ext): # pylint: disable = no-init -+ """ Improved extension building code """ -+ -+ def run(self): -+ """ Unify exception """ -+ try: -+ _build_ext.build_ext.run(self) -+ except _errors.DistutilsPlatformError: -+ raise BuildFailed() -+ -+ -+ def build_extension(self, ext): -+ """ -+ Build C extension - with extended functionality - --def setup(args=None, _manifest=0): -- """ Main setup function """ -- from _setup.ext import Extension -+ The following features are added here: - -- if 'java' in _sys.platform.lower(): -- # no c extension for jython -- ext = None -+ - The macros ``EXT_PACKAGE`` and ``EXT_MODULE`` will be filled (or -+ unset) depending on the extensions name, but only if they are not -+ already defined. -+ -+ - "." is added to the include directories (for cext.h) -+ -+ :Parameters: -+ `ext` : `Extension` -+ The extension to build -+ -+ :Return: whatever ``distutils.command.build_ext.build_ext`` returns -+ :Rtype: any -+ """ -+ # handle name macros -+ macros = dict(ext.define_macros or ()) -+ tup = ext.name.split('.') -+ if len(tup) == 1: -+ pkg, mod = None, tup[0] -+ else: -+ pkg, mod = '.'.join(tup[:-1]), tup[-1] -+ if pkg is not None and 'EXT_PACKAGE' not in macros: -+ ext.define_macros.append(('EXT_PACKAGE', pkg)) -+ if 'EXT_MODULE' not in macros: -+ ext.define_macros.append(('EXT_MODULE', mod)) -+ if pkg is None: -+ macros = dict(ext.undef_macros or ()) -+ if 'EXT_PACKAGE' not in macros: -+ ext.undef_macros.append('EXT_PACKAGE') -+ -+ import pprint; pprint.pprint(ext.__dict__) -+ try: -+ return _build_ext.build_ext.build_extension(self, ext) -+ except (_errors.CCompilerError, _errors.DistutilsExecError, -+ _errors.DistutilsPlatformError, IOError, ValueError): -+ raise BuildFailed() -+ -+ -+class Extension(_setuptools.Extension): -+ """ improved functionality """ -+ -+ def __init__(self, *args, **kwargs): -+ """ Initialization """ -+ version = kwargs.pop('version') -+ self.depends = [] -+ if 'depends' in kwargs: -+ self.depends = kwargs['depends'] -+ _setuptools.Extension.__init__(self, *args, **kwargs) -+ self.define_macros.append(('EXT_VERSION', version)) -+ -+ # add include path -+ included = '.' -+ if included not in self.include_dirs: -+ self.include_dirs.append(included) -+ -+ # add cext.h to the dependencies -+ cext_h = _posixpath.normpath(_posixpath.join(included, 'cext.h')) -+ for item in self.depends: -+ if _posixpath.normpath(item) == cext_h: -+ break -+ else: -+ self.depends.append(cext_h) -+ -+ -+EXTENSIONS = lambda v: [Extension('_rjsmin', ["rjsmin.c"], version=v)] -+ -+ -+def do_setup(cext): -+ """ Main """ -+ # pylint: disable = too-many-branches -+ # pylint: disable = unspecified-encoding -+ -+ args = {} if str is bytes else dict(encoding='utf-8') -+ version_file = '%s/%s' % (package['pathname'], -+ package.get('version_file', '__init__.py')) -+ with open(version_file, **args) as fp: -+ for line in fp: # pylint: disable = redefined-outer-name -+ if line.startswith('__version__'): -+ version = line.split('=', 1)[1].strip() -+ if version.startswith(("'", '"')): -+ version = version[1:-1].strip() -+ break -+ else: -+ raise RuntimeError("Version not found") -+ -+ kwargs = {} -+ -+ if not cext or 'java' in _sys.platform.lower(): -+ extensions = [] - else: -- ext=[Extension('_rjsmin', sources=['rjsmin.c'])] -+ extensions = EXTENSIONS(version) -+ -+ if extensions: -+ if 'build_ext' in globals(): -+ kwargs.setdefault('cmdclass', {})['build_ext'] = build_ext -+ kwargs['ext_modules'] = extensions -+ -+ cflags = None -+ if _os.environ.get('CFLAGS') is None: -+ from distutils import ccompiler as _ccompiler -+ -+ compiler = _ccompiler.get_default_compiler() -+ try: -+ with open("debug.%s.cflags" % compiler) as fp: -+ cflags = ' '.join([ -+ line for line in (line.strip() for line in fp) -+ if line and not line.startswith('#') -+ ]).split() or None -+ except IOError: -+ pass -+ -+ if cflags: -+ gcov = 'coverage' in ' '.join(cflags) -+ for ext in extensions: -+ # pylint: disable = attribute-defined-outside-init -+ ext.extra_compile_args = \ -+ getattr(ext, 'extra_compile_args', []) + cflags -+ if gcov: -+ ext.libraries.append('gcov') -+ -+ -+ if package.get('packages', True): -+ kwargs['packages'] = [package['top']] + [ -+ '%s.%s' % (package['top'], item) -+ for item in -+ _setuptools.find_packages(package['pathname']) -+ ] -+ if package.get('py_modules'): -+ kwargs['py_modules'] = package['py_modules'] - -- return run(script_args=args, ext=ext, manifest_only=_manifest) -+ _setuptools.setup( -+ name=package['name'], -+ author=package['author'], -+ author_email=package['email'], -+ license=package['license'], -+ classifiers=package['classifiers'], -+ description=package['desc'], -+ long_description=package['longdesc'], -+ url=package['url'], -+ install_requires=package['install_requires'], -+ version=version, -+ zip_safe=False, -+ **kwargs -+ ) - - --def manifest(): -- """ Create List of packaged files """ -- return setup((), _manifest=1) -+def setup(): -+ """ Run setup """ -+ try: -+ do_setup(True) -+ except BuildFailed: -+ env = 'SETUP_CEXT_REQUIRED' -+ if _os.environ.get(env, '') not in ('', '0'): -+ raise -+ print("C extension build failed - building python only version now. " -+ "Set '%s' environment variable to '1' to make it fail." -+ % (env,), file=_sys.stderr) -+ do_setup(False) - - - if __name__ == '__main__': diff --git a/chromium-105.0.5195.52-python-six-1.16.0.patch b/chromium-105.0.5195.52-python-six-1.16.0.patch deleted file mode 100644 index 497c2df..0000000 --- a/chromium-105.0.5195.52-python-six-1.16.0.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py ---- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000 -+++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000 -@@ -29,7 +29,7 @@ import sys - import types - - __author__ = "Benjamin Peterson " --__version__ = "1.15.0" -+__version__ = "1.16.0" - - - # Useful for very coarse version differentiation. -@@ -71,6 +71,11 @@ else: - MAXSIZE = int((1 << 63) - 1) - del X - -+if PY34: -+ from importlib.util import spec_from_loader -+else: -+ spec_from_loader = None -+ - - def _add_doc(func, doc): - """Add documentation to a function.""" -@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): - return self - return None - -+ def find_spec(self, fullname, path, target=None): -+ if fullname in self.known_modules: -+ return spec_from_loader(fullname, self) -+ return None -+ - def __get_module(self, fullname): - try: - return self.known_modules[fullname] -@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): - return None - get_source = get_code # same as get_code - -+ def create_module(self, spec): -+ return self.load_module(spec.name) -+ -+ def exec_module(self, module): -+ pass -+ - _importer = _SixMetaPathImporter(__name__) - - -diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py ---- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000 -+++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000 -@@ -29,7 +29,7 @@ import sys - import types - - __author__ = "Benjamin Peterson " --__version__ = "1.14.0" -+__version__ = "1.16.0" - - - # Useful for very coarse version differentiation. -@@ -71,6 +71,11 @@ else: - MAXSIZE = int((1 << 63) - 1) - del X - -+if PY34: -+ from importlib.util import spec_from_loader -+else: -+ spec_from_loader = None -+ - - def _add_doc(func, doc): - """Add documentation to a function.""" -@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): - return self - return None - -+ def find_spec(self, fullname, path, target=None): -+ if fullname in self.known_modules: -+ return spec_from_loader(fullname, self) -+ return None -+ - def __get_module(self, fullname): - try: - return self.known_modules[fullname] -@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): - return None - get_source = get_code # same as get_code - -+ def create_module(self, spec): -+ return self.load_module(spec.name) -+ -+ def exec_module(self, module): -+ pass -+ - _importer = _SixMetaPathImporter(__name__) - - -@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e - - `str` -> encoded to `bytes` - - `bytes` -> `bytes` - """ -+ if isinstance(s, binary_type): -+ return s - if isinstance(s, text_type): - return s.encode(encoding, errors) -- elif isinstance(s, binary_type): -- return s -- else: -- raise TypeError("not expecting type '%s'" % type(s)) -+ raise TypeError("not expecting type '%s'" % type(s)) - - - def ensure_str(s, encoding='utf-8', errors='strict'): -@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro - - `str` -> `str` - - `bytes` -> decoded to `str` - """ -- if not isinstance(s, (text_type, binary_type)): -- raise TypeError("not expecting type '%s'" % type(s)) -+ # Optimization: Fast return for the common case. -+ if type(s) is str: -+ return s - if PY2 and isinstance(s, text_type): -- s = s.encode(encoding, errors) -+ return s.encode(encoding, errors) - elif PY3 and isinstance(s, binary_type): -- s = s.decode(encoding, errors) -+ return s.decode(encoding, errors) -+ elif not isinstance(s, (text_type, binary_type)): -+ raise TypeError("not expecting type '%s'" % type(s)) - return s - - diff --git a/chromium-108-el7-wayland-strndup-error.patch b/chromium-108-el7-wayland-strndup-error.patch deleted file mode 100644 index 1147867..0000000 --- a/chromium-108-el7-wayland-strndup-error.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c ---- chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me 2022-12-27 16:14:22.507496575 +0100 -+++ chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c 2022-12-27 16:35:17.617573610 +0100 -@@ -26,6 +26,7 @@ - */ - - #include "wayland-version.h" -+#include "config.h" // HAVE_STRNDUP - - #include - #include diff --git a/chromium-110-epel7-old-headers-workarounds.patch b/chromium-110-epel7-old-headers-workarounds.patch deleted file mode 100644 index cb91763..0000000 --- a/chromium-110-epel7-old-headers-workarounds.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff -up chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc ---- chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me 2023-02-08 20:34:02.700010846 +0100 -+++ chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc 2023-02-08 20:35:30.455580670 +0100 -@@ -4,7 +4,9 @@ - - #include "sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.h" - --#include -+#ifndef KCMP_FILE -+#define KCMP_FILE 0 -+#endif - - #include "media/gpu/buildflags.h" - #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h" -diff -up chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/mojo/core/channel_linux.cc ---- chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds 2022-02-28 19:05:54.000000000 -0500 -+++ chromium-99.0.4844.51/mojo/core/channel_linux.cc 2022-03-05 14:50:49.876812909 -0500 -@@ -44,6 +44,25 @@ - #include "base/android/build_info.h" - #endif - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+#ifndef F_GET_SEALS -+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+ - #ifndef EFD_ZERO_ON_WAKE - #define EFD_ZERO_ON_WAKE O_NOFOLLOW - #endif -diff -up chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ---- chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds 2022-03-05 14:50:49.877812915 -0500 -+++ chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2022-03-05 15:15:02.536867009 -0500 -@@ -53,6 +53,25 @@ - - #endif // BUILDFLAG(IS_ANDROID) - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+#ifndef F_GET_SEALS -+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+ - #if defined(__arm__) && !defined(MAP_STACK) - #define MAP_STACK 0x20000 // Daisy build environment has old headers. - #endif -diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc ---- chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -6,7 +6,24 @@ - - #include - #include --#include -+#ifndef KCMP_FILE -+#define KCMP_FILE 0 -+#endif -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif - #include - - // Some arch's (arm64 for instance) unistd.h don't pull in symbols used here -diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc ---- chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -22,6 +22,22 @@ - #include "sandbox/policy/linux/sandbox_linux.h" - #include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+ - using sandbox::bpf_dsl::AllOf; - using sandbox::bpf_dsl::Allow; - using sandbox::bpf_dsl::Arg; -diff -up chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc ---- chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds 2022-02-28 19:06:49.000000000 -0500 -+++ chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -23,6 +23,10 @@ - #include "ui/events/ozone/evdev/numberpad_metrics.h" - #endif - -+#ifndef SW_PEN_INSERTED -+#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ -+#endif -+ - namespace ui { - - namespace { diff --git a/chromium-112-check-passthrough-command-decoder.patch b/chromium-112-check-passthrough-command-decoder.patch deleted file mode 100644 index 55fa1e0..0000000 --- a/chromium-112-check-passthrough-command-decoder.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 041cb248e818823caaaabc67db92b16499d0416d Mon Sep 17 00:00:00 2001 -From: Vasiliy Telezhnikov -Date: Thu, 02 Feb 2023 15:42:28 +0000 -Subject: [PATCH] CHECK that passthrough command decoder is used on launched platforms - -This CL adds enforces that validating command decoder is not used on -platforms where passthrough is fully launched. We still allow to use it -by tests on linux - -Bug: 1406585 -Change-Id: Id6bc1d748fdf9c953dde76c8d4b5f59ddef60857 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4212134 -Reviewed-by: Kyle Charbonneau -Commit-Queue: Vasiliy Telezhnikov -Cr-Commit-Position: refs/heads/main@{#1100440} ---- - -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc -index eb710696..b22dffb 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -3447,7 +3447,13 @@ - outputter, group); - } - -+// Allow linux to run fuzzers. -+#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) - return new GLES2DecoderImpl(client, command_buffer_service, outputter, group); -+#else -+ LOG(FATAL) << "Validating command decoder is not supported."; -+ return nullptr; -+#endif - } - - GLES2DecoderImpl::GLES2DecoderImpl( -diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc -index 40977d9b..50171e20 100644 ---- a/gpu/ipc/service/gpu_init.cc -+++ b/gpu/ipc/service/gpu_init.cc -@@ -510,8 +510,9 @@ - - auto impl = gl::GetGLImplementationParts(); - bool gl_disabled = impl == gl::kGLImplementationDisabled; -- bool is_swangle = impl == gl::ANGLEImplementation::kSwiftShader; - -+#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) -+ bool is_swangle = impl == gl::ANGLEImplementation::kSwiftShader; - // Compute passthrough decoder status before ComputeGpuFeatureInfo below. - // Do this after GL is initialized so extensions can be queried. - // Using SwANGLE forces the passthrough command decoder. -@@ -533,6 +534,20 @@ - } - gpu_preferences_.use_passthrough_cmd_decoder = - gpu_info_.passthrough_cmd_decoder; -+#else -+ // If gl is disabled passthrough/validating command decoder doesn't matter. If -+ // it's not ensure that passthrough command decoder is supported as it's our -+ // only option. -+ if (!gl_disabled) { -+ LOG_IF(FATAL, !gles2::PassthroughCommandDecoderSupported()) -+ << "Passthrough is not supported, GL is " -+ << gl::GetGLImplementationGLName(gl::GetGLImplementationParts()) -+ << ", ANGLE is " -+ << gl::GetGLImplementationANGLEName(gl::GetGLImplementationParts()); -+ gpu_info_.passthrough_cmd_decoder = true; -+ gpu_preferences_.use_passthrough_cmd_decoder = true; -+ } -+#endif - - // We need to collect GL strings (VENDOR, RENDERER) for blocklisting purposes. - if (!gl_disabled) { diff --git a/chromium-112-enable-vaapi-ozone-wayland.patch b/chromium-112-enable-vaapi-ozone-wayland.patch deleted file mode 100644 index 1a75ce3..0000000 --- a/chromium-112-enable-vaapi-ozone-wayland.patch +++ /dev/null @@ -1,21 +0,0 @@ -author Yaowei Zhou Thu Feb 02 06:18:34 2023 -committer Yaowei Zhou Thu Feb 02 06:18:34 2023 -tree 62a79c7f155fc32140d3aa4c4a6b01b8d7eddfcc -parent 98e427b87ff8447180a60f20ee3792dcbd649481 [diff] -Enable VA-API flag on ozone wayland - -Bug: POC -Change-Id: I09f696bfe3be82930161ce005152d1397b93f636 -diff --git a/ui/ozone/platform/wayland/ozone_platform_wayland.cc b/ui/ozone/platform/wayland/ozone_platform_wayland.cc -index b3190c6b..4a2c3bb 100644 ---- a/ui/ozone/platform/wayland/ozone_platform_wayland.cc -+++ b/ui/ozone/platform/wayland/ozone_platform_wayland.cc -@@ -309,6 +309,8 @@ - properties->supports_global_screen_coordinates = - features::IsWaylandScreenCoordinatesEnabled(); - -+ properties->supports_vaapi_x11 = true; -+ - initialised = true; - } - diff --git a/chromium-112-invert_of_GLImageNativePixmap_NativePixmapEGLBinding.patch b/chromium-112-invert_of_GLImageNativePixmap_NativePixmapEGLBinding.patch deleted file mode 100644 index 80fe156..0000000 --- a/chromium-112-invert_of_GLImageNativePixmap_NativePixmapEGLBinding.patch +++ /dev/null @@ -1,630 +0,0 @@ -commit 7f0858c08dcef70ca26ce8527bbedfcc5c5218d3 -Author: Colin Blundell -Date: Thu Feb 23 14:19:33 2023 +0000 - - [Ozone] Invert layering of GLImageNativePixmap & NativePixmapEGLBinding - - NativePixmapEGLBinding is currently a thin layer on top of - GLImageNativePixmap. This CL inverts the layering so that - GLImageNativePixmap instead sits on top of NativePixmapEGLBinding - (via the public Ozone ImportNativePixmap() method, for which all - implementations return NativePixmapEGLBinding). Note that this entails - moving GLImageNativePixmap into //gpu, as //ui/gl cannot depend on - //ozone/public. - - This inversion means that - (a) the SharedImage Ozone backing/representations no longer use GLImage - (b) when we no longer need GLImageNativePixmap we can simply directly - eliminate it. - - Followup CLs will fold NativePixmapEGLBindingHelper into - NativePixmapEGLBinding and make GLImageNativePixmap creation private - with friending to ensure that no more usage of the deprecated class - creeps in. - - Bug: 1412692 - Change-Id: I5f01e9b1f616dd99b61cd203662d0d02d3da7b3e - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4262390 - Reviewed-by: Vasiliy Telezhnikov - Reviewed-by: ccameron chromium - Reviewed-by: Andres Calderon Jaramillo - Commit-Queue: Colin Blundell - Cr-Commit-Position: refs/heads/main@{#1108909} - -diff --git a/gpu/command_buffer/service/BUILD.gn b/gpu/command_buffer/service/BUILD.gn -index d08be597e3e5d..5ad724dd57bbb 100644 ---- a/gpu/command_buffer/service/BUILD.gn -+++ b/gpu/command_buffer/service/BUILD.gn -@@ -397,6 +397,8 @@ target(link_target_type, "gles2_sources") { - - if (use_ozone) { - sources += [ -+ "shared_image/gl_image_native_pixmap.cc", -+ "shared_image/gl_image_native_pixmap.h", - "shared_image/gl_ozone_image_representation.cc", - "shared_image/gl_ozone_image_representation.h", - "shared_image/ozone_image_backing.cc", -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc -index e3f5b3c5721cf..a297347c19670 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -120,10 +120,10 @@ - #endif - - #if BUILDFLAG(IS_OZONE) -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "ui/gfx/buffer_format_util.h" - #include "ui/gfx/buffer_usage_util.h" - #include "ui/gfx/native_pixmap.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/ozone/public/ozone_platform.h" - #include "ui/ozone/public/surface_factory_ozone.h" - #endif -@@ -499,7 +499,7 @@ class BackTexture { - #if BUILDFLAG(IS_OZONE) - // The image that backs the texture, if its backed by a native - // GpuMemoryBuffer. -- scoped_refptr image_; -+ scoped_refptr image_; - #endif - }; - -@@ -2522,7 +2522,7 @@ class GLES2DecoderImpl : public GLES2Decoder, - // Note: Creation of anonymous images is possible only on Ozone. - #if BUILDFLAG(IS_OZONE) - bool SupportsCreateAnonymousImage(); -- scoped_refptr CreateAnonymousImage( -+ scoped_refptr CreateAnonymousImage( - const gfx::Size& size, - gfx::BufferFormat format, - bool* is_cleared, -@@ -3242,7 +3242,7 @@ bool BackTexture::AllocateNativeGpuMemoryBuffer(const gfx::Size& size, - // duplicate BGRX_8888. - buffer_format = gfx::BufferFormat::BGRX_8888; - } -- scoped_refptr image = decoder_->CreateAnonymousImage( -+ scoped_refptr image = decoder_->CreateAnonymousImage( - size, buffer_format, &is_cleared, Target(), id()); - if (!image) - return false; -@@ -19592,7 +19592,7 @@ bool GLES2DecoderImpl::SupportsCreateAnonymousImage() { - .supports_native_pixmaps; - } - --scoped_refptr GLES2DecoderImpl::CreateAnonymousImage( -+scoped_refptr GLES2DecoderImpl::CreateAnonymousImage( - const gfx::Size& size, - gfx::BufferFormat format, - bool* is_cleared, -@@ -19612,8 +19612,8 @@ scoped_refptr GLES2DecoderImpl::CreateAnonymousImage( - << gfx::BufferUsageToString(usage); - return nullptr; - } -- auto image = gl::GLImageNativePixmap::Create(size, format, std::move(pixmap), -- target, texture_id); -+ auto image = GLImageNativePixmap::Create(size, format, std::move(pixmap), -+ target, texture_id); - if (!image) { - LOG(ERROR) << "Failed to create GLImage " << size.ToString() << ", " - << gfx::BufferFormatToString(format) << ", usage " -diff --git a/ui/gl/gl_image_native_pixmap.cc b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc -similarity index 73% -rename from ui/gl/gl_image_native_pixmap.cc -rename to gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc -index 6cbe7be2899de..d9101fbda893b 100644 ---- a/ui/gl/gl_image_native_pixmap.cc -+++ b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc -@@ -2,9 +2,13 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include "ui/gl/gl_image_native_pixmap.h" -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - --namespace gl { -+#include "ui/ozone/public/native_pixmap_gl_binding.h" -+#include "ui/ozone/public/ozone_platform.h" -+#include "ui/ozone/public/surface_factory_ozone.h" -+ -+namespace gpu { - - scoped_refptr GLImageNativePixmap::Create( - const gfx::Size& size, -@@ -47,18 +51,18 @@ bool GLImageNativePixmap::InitializeFromNativePixmap( - const gfx::ColorSpace& color_space, - GLenum target, - GLuint texture_id) { -- binding_helper_ = NativePixmapEGLBindingHelper::CreateForPlane( -- size_, format, plane, std::move(pixmap), color_space, target, texture_id); -+ pixmap_gl_binding_ = -+ ui::OzonePlatform::GetInstance() -+ ->GetSurfaceFactoryOzone() -+ ->GetCurrentGLOzone() -+ ->ImportNativePixmap(std::move(pixmap), format, plane, size_, -+ color_space, target, texture_id); - -- return !!binding_helper_; -+ return !!pixmap_gl_binding_; - } - - gfx::Size GLImageNativePixmap::GetSize() { - return size_; - } - --unsigned GLImageNativePixmap::GetInternalFormat() { -- return binding_helper_->GetInternalFormat(); --} -- --} // namespace gl -+} // namespace gpu -diff --git a/ui/gl/gl_image_native_pixmap.h b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h -similarity index 72% -rename from ui/gl/gl_image_native_pixmap.h -rename to gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h -index 5ff5e91b3ec18..4087360b04b45 100644 ---- a/ui/gl/gl_image_native_pixmap.h -+++ b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h -@@ -2,21 +2,24 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#ifndef UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_ --#define UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_ -+#ifndef GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_ -+#define GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_ - - #include - -+#include "gpu/gpu_gles2_export.h" - #include "ui/gfx/color_space.h" - #include "ui/gfx/native_pixmap.h" - #include "ui/gl/gl_bindings.h" --#include "ui/gl/gl_export.h" - #include "ui/gl/gl_image.h" --#include "ui/gl/native_pixmap_egl_binding_helper.h" - --namespace gl { -+namespace ui { -+class NativePixmapGLBinding; -+} - --class GL_EXPORT GLImageNativePixmap : public GLImage { -+namespace gpu { -+ -+class GPU_GLES2_EXPORT GLImageNativePixmap : public gl::GLImage { - public: - // Create an EGLImage from a given NativePixmap and bind |texture_id| to - // |target| following by binding the image to |target|. -@@ -41,22 +44,15 @@ class GL_EXPORT GLImageNativePixmap : public GLImage { - GLenum target, - GLuint texture_id); - -- // Get the GL internal format of the image. -- // It is aligned with glTexImage{2|3}D's parameter |internalformat|. -- unsigned GetInternalFormat(); -- - // Overridden from GLImage: - gfx::Size GetSize() override; - -- protected: -- ~GLImageNativePixmap() override; -- - private: - explicit GLImageNativePixmap(const gfx::Size& size); -+ ~GLImageNativePixmap() override; - -- // Create an EGLImage from a given NativePixmap and bind |texture_id| to -- // |target| followed by binding the image to |target|. This EGLImage can be -- // converted to a GL texture. -+ // Create a NativePixmapGLBinding from a given NativePixmap. Returns true iff -+ // the binding was successfully created. - bool InitializeFromNativePixmap(gfx::BufferFormat format, - gfx::BufferPlane plane, - scoped_refptr pixmap, -@@ -64,10 +60,10 @@ class GL_EXPORT GLImageNativePixmap : public GLImage { - GLenum target, - GLuint texture_id); - -- std::unique_ptr binding_helper_; -+ std::unique_ptr pixmap_gl_binding_; - const gfx::Size size_; - }; - --} // namespace gl -+} // namespace gpu - --#endif // UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_ -+#endif // GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_ -diff --git a/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h b/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h -index 31723894088e1..ade337bde9966 100644 ---- a/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h -+++ b/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h -@@ -14,7 +14,6 @@ - #include "gpu/command_buffer/service/shared_image/shared_image_representation.h" - #include "gpu/command_buffer/service/texture_manager.h" - #include "ui/gfx/native_pixmap.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/ozone/public/native_pixmap_gl_binding.h" - - namespace gpu { -diff --git a/gpu/command_buffer/service/shared_image/ozone_image_backing.cc b/gpu/command_buffer/service/shared_image/ozone_image_backing.cc -index 8d4a7d9306eb1..7a652ae425c0e 100644 ---- a/gpu/command_buffer/service/shared_image/ozone_image_backing.cc -+++ b/gpu/command_buffer/service/shared_image/ozone_image_backing.cc -@@ -36,7 +36,6 @@ - #include "ui/gfx/native_pixmap.h" - #include "ui/gfx/native_widget_types.h" - #include "ui/gl/buildflags.h" --#include "ui/gl/gl_image_native_pixmap.h" - - #if BUILDFLAG(ENABLE_VULKAN) - #include "gpu/command_buffer/service/shared_image/skia_vk_ozone_image_representation.h" -diff --git a/media/gpu/v4l2/BUILD.gn b/media/gpu/v4l2/BUILD.gn -index 12e6b66cf7b89..ff7b5a1a50a38 100644 ---- a/media/gpu/v4l2/BUILD.gn -+++ b/media/gpu/v4l2/BUILD.gn -@@ -98,6 +98,7 @@ source_set("v4l2") { - ":libv4l2_stubs", - ":v4l2_status", - "//base", -+ "//gpu/command_buffer/service:gles2", - "//gpu/ipc/common", - "//gpu/ipc/service", - "//media", -diff --git a/media/gpu/v4l2/generic_v4l2_device.cc b/media/gpu/v4l2/generic_v4l2_device.cc -index bdbb256ed578c..337ec0e7b372b 100644 ---- a/media/gpu/v4l2/generic_v4l2_device.cc -+++ b/media/gpu/v4l2/generic_v4l2_device.cc -@@ -23,6 +23,7 @@ - #include "base/strings/stringprintf.h" - #include "base/trace_event/trace_event.h" - #include "build/build_config.h" -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "media/base/video_types.h" - #include "media/gpu/buildflags.h" - #include "media/gpu/chromeos/fourcc.h" -@@ -32,7 +33,6 @@ - #include "ui/gfx/native_pixmap_handle.h" - #include "ui/gl/egl_util.h" - #include "ui/gl/gl_bindings.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/ozone/public/ozone_platform.h" - #include "ui/ozone/public/surface_factory_ozone.h" - -@@ -281,7 +281,7 @@ EGLImageKHR GenericV4L2Device::CreateEGLImage( - return egl_image; - } - --scoped_refptr GenericV4L2Device::CreateGLImage( -+scoped_refptr GenericV4L2Device::CreateGLImage( - const gfx::Size& size, - const Fourcc fourcc, - gfx::NativePixmapHandle handle, -@@ -317,7 +317,7 @@ scoped_refptr GenericV4L2Device::CreateGLImage( - DCHECK(pixmap); - - // TODO(b/220336463): plumb the right color space. -- auto image = gl::GLImageNativePixmap::Create( -+ auto image = gpu::GLImageNativePixmap::Create( - size, buffer_format, std::move(pixmap), target, texture_id); - DCHECK(image); - return image; -diff --git a/media/gpu/v4l2/generic_v4l2_device.h b/media/gpu/v4l2/generic_v4l2_device.h -index bb9ce391c15bd..fd84aee27097e 100644 ---- a/media/gpu/v4l2/generic_v4l2_device.h -+++ b/media/gpu/v4l2/generic_v4l2_device.h -@@ -55,7 +55,7 @@ class GenericV4L2Device : public V4L2Device { - const Fourcc fourcc, - gfx::NativePixmapHandle handle) const override; - -- scoped_refptr CreateGLImage( -+ scoped_refptr CreateGLImage( - const gfx::Size& size, - const Fourcc fourcc, - gfx::NativePixmapHandle handle, -diff --git a/media/gpu/v4l2/v4l2_device.h b/media/gpu/v4l2/v4l2_device.h -index bdc39bf65ae38..ee74cbcd39957 100644 ---- a/media/gpu/v4l2/v4l2_device.h -+++ b/media/gpu/v4l2/v4l2_device.h -@@ -28,6 +28,7 @@ - #include "base/files/scoped_file.h" - #include "base/memory/ref_counted.h" - #include "base/sequence_checker.h" -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "media/base/video_codecs.h" - #include "media/base/video_decoder_config.h" - #include "media/base/video_frame.h" -@@ -42,7 +43,6 @@ - #include "ui/gfx/geometry/size.h" - #include "ui/gfx/native_pixmap_handle.h" - #include "ui/gl/gl_bindings.h" --#include "ui/gl/gl_image_native_pixmap.h" - - // TODO(mojahsu): remove this once V4L2 headers are updated. - #ifndef V4L2_PIX_FMT_JPEG_RAW -@@ -777,7 +777,7 @@ class MEDIA_GPU_EXPORT V4L2Device - - // Create a GLImageNativePixmap from provided |handle|, taking full ownership - // of it. -- virtual scoped_refptr CreateGLImage( -+ virtual scoped_refptr CreateGLImage( - const gfx::Size& size, - const Fourcc fourcc, - gfx::NativePixmapHandle handle, -diff --git a/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc b/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc -index a51acedc105b7..78cc605e986e6 100644 ---- a/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc -+++ b/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc -@@ -30,6 +30,7 @@ - #include "base/time/time.h" - #include "base/trace_event/memory_dump_manager.h" - #include "base/trace_event/trace_event.h" -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "media/base/bind_to_current_loop.h" - #include "media/base/media_switches.h" - #include "media/base/scopedfd_helper.h" -@@ -49,7 +50,6 @@ - #include "ui/gl/gl_bindings.h" - #include "ui/gl/gl_context.h" - #include "ui/gl/gl_display.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/gl/gl_surface_egl.h" - #include "ui/gl/scoped_binders.h" - -@@ -1444,7 +1444,7 @@ void V4L2SliceVideoDecodeAccelerator::CreateGLImageFor( - return; - } - -- scoped_refptr gl_image = -+ scoped_refptr gl_image = - gl_device->CreateGLImage(visible_size, fourcc, std::move(handle), - gl_device->GetTextureTarget(), texture_id); - if (!gl_image) { -diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn -index 1ecf8854d02e7..7687384553806 100644 ---- a/media/gpu/vaapi/BUILD.gn -+++ b/media/gpu/vaapi/BUILD.gn -@@ -96,6 +96,7 @@ source_set("vaapi") { - ":vaapi_status", - "//base", - "//build:chromeos_buildflags", -+ "//gpu/command_buffer/service:gles2", - "//gpu/config", - "//gpu/ipc/common", - "//gpu/ipc/service", -diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc -index 06617ffec8e5a..626dda6312213 100644 ---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc -+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc -@@ -4,6 +4,7 @@ - - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h" - -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "media/base/format_utils.h" - #include "media/gpu/buffer_validation.h" - #include "media/gpu/chromeos/platform_video_frame_utils.h" -@@ -15,7 +16,6 @@ - #include "ui/gfx/linux/native_pixmap_dmabuf.h" - #include "ui/gfx/native_pixmap.h" - #include "ui/gl/gl_bindings.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/gl/scoped_binders.h" - #include "ui/ozone/public/ozone_platform.h" - #include "ui/ozone/public/surface_factory_ozone.h" -@@ -87,7 +87,7 @@ VaapiStatus VaapiPictureNativePixmapOzone::Initialize( - const gfx::BufferFormat format = pixmap->GetBufferFormat(); - - // TODO(b/220336463): plumb the right color space. -- auto image = gl::GLImageNativePixmap::Create( -+ auto image = gpu::GLImageNativePixmap::Create( - visible_size_, format, std::move(pixmap), - base::strict_cast(texture_target_), - base::strict_cast(texture_id_)); -diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h -index 101728f36c1e1..eaced9a8ccadf 100644 ---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h -+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h -@@ -17,7 +17,7 @@ namespace gfx { - class NativePixmap; - } // namespace gfx - --namespace gl { -+namespace gpu { - class GLImageNativePixmap; - } - -@@ -55,7 +55,7 @@ class VaapiPictureNativePixmapOzone : public VaapiPictureNativePixmap { - VaapiStatus Initialize(scoped_refptr pixmap); - - // GLImage bound to the GL textures used by the VDA client. -- scoped_refptr gl_image_; -+ scoped_refptr gl_image_; - }; - - } // namespace media -diff --git a/ui/gfx/linux/native_pixmap_dmabuf.h b/ui/gfx/linux/native_pixmap_dmabuf.h -index 7f134110417ea..f12d4f5eac89d 100644 ---- a/ui/gfx/linux/native_pixmap_dmabuf.h -+++ b/ui/gfx/linux/native_pixmap_dmabuf.h -@@ -17,7 +17,7 @@ - namespace gfx { - - // This class converts a gfx::NativePixmapHandle to a gfx::NativePixmap. --// It is useful because gl::GLImageNativePixmap::Initialize only takes -+// It is useful because gpu::GLImageNativePixmap::Initialize only takes - // a gfx::NativePixmap as input. - class GFX_EXPORT NativePixmapDmaBuf : public gfx::NativePixmap { - public: -diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn -index cc23c0a8b4c64..2a07859c4dad8 100644 ---- a/ui/gl/BUILD.gn -+++ b/ui/gl/BUILD.gn -@@ -226,8 +226,6 @@ component("gl") { - - if (is_linux || is_chromeos || use_ozone) { - sources += [ -- "gl_image_native_pixmap.cc", -- "gl_image_native_pixmap.h", - "native_pixmap_egl_binding_helper.cc", - "native_pixmap_egl_binding_helper.h", - ] -diff --git a/ui/ozone/common/native_pixmap_egl_binding.cc b/ui/ozone/common/native_pixmap_egl_binding.cc -index 8dce01a41281e..2e18e73eb6cbb 100644 ---- a/ui/ozone/common/native_pixmap_egl_binding.cc -+++ b/ui/ozone/common/native_pixmap_egl_binding.cc -@@ -8,7 +8,7 @@ - #include "base/memory/scoped_refptr.h" - #include "base/notreached.h" - #include "ui/gl/gl_bindings.h" --#include "ui/gl/gl_image_native_pixmap.h" -+#include "ui/gl/native_pixmap_egl_binding_helper.h" - - namespace ui { - -@@ -50,9 +50,9 @@ unsigned BufferFormatToGLDataType(gfx::BufferFormat format) { - } // namespace - - NativePixmapEGLBinding::NativePixmapEGLBinding( -- scoped_refptr gl_image, -+ std::unique_ptr binding_helper, - gfx::BufferFormat format) -- : gl_image_(std::move(gl_image)), format_(format) {} -+ : binding_helper_(std::move(binding_helper)), format_(format) {} - NativePixmapEGLBinding::~NativePixmapEGLBinding() = default; - - // static -@@ -64,22 +64,22 @@ std::unique_ptr NativePixmapEGLBinding::Create( - const gfx::ColorSpace& color_space, - GLenum target, - GLuint texture_id) { -- auto gl_image = gl::GLImageNativePixmap::CreateForPlane( -+ auto binding_helper = gl::NativePixmapEGLBindingHelper::CreateForPlane( - plane_size, plane_format, plane, std::move(pixmap), color_space, target, - texture_id); -- if (!gl_image) { -- LOG(ERROR) << "Unable to initialize GL image from pixmap"; -+ if (!binding_helper) { -+ LOG(ERROR) << "Unable to initialize binding from pixmap"; - return nullptr; - } - -- auto binding = std::make_unique(std::move(gl_image), -- plane_format); -+ auto binding = std::make_unique( -+ std::move(binding_helper), plane_format); - - return binding; - } - - GLuint NativePixmapEGLBinding::GetInternalFormat() { -- return gl_image_->GetInternalFormat(); -+ return binding_helper_->GetInternalFormat(); - } - - GLenum NativePixmapEGLBinding::GetDataType() { -diff --git a/ui/ozone/common/native_pixmap_egl_binding.h b/ui/ozone/common/native_pixmap_egl_binding.h -index 44d68be3527a4..c0382b1068426 100644 ---- a/ui/ozone/common/native_pixmap_egl_binding.h -+++ b/ui/ozone/common/native_pixmap_egl_binding.h -@@ -15,16 +15,17 @@ class ColorSpace; - } - - namespace gl { --class GLImageNativePixmap; -+class NativePixmapEGLBindingHelper; - } - - namespace ui { - --// A binding maintained between GLImageNativePixmap and GL Textures in Ozone. -+// A binding maintained between NativePixmap and GL Textures in Ozone. - class NativePixmapEGLBinding : public NativePixmapGLBinding { - public: -- NativePixmapEGLBinding(scoped_refptr gl_image, -- gfx::BufferFormat format); -+ NativePixmapEGLBinding( -+ std::unique_ptr binding_helper, -+ gfx::BufferFormat format); - ~NativePixmapEGLBinding() override; - - static std::unique_ptr Create( -@@ -41,10 +42,7 @@ class NativePixmapEGLBinding : public NativePixmapGLBinding { - GLenum GetDataType() override; - - private: -- // TODO(hitawala): Merge BindTexImage, Initialize from GLImage and its -- // subclass NativePixmap to NativePixmapEGLBinding once we stop using them -- // elsewhere eg. VDA decoders in media. -- scoped_refptr gl_image_; -+ std::unique_ptr binding_helper_; - - gfx::BufferFormat format_; - }; -diff --git a/ui/ozone/gl/BUILD.gn b/ui/ozone/gl/BUILD.gn -index 4fc90f0471362..6064eb6f83a8c 100644 ---- a/ui/ozone/gl/BUILD.gn -+++ b/ui/ozone/gl/BUILD.gn -@@ -9,6 +9,14 @@ test("ozone_gl_unittests") { - - deps = [ - "//base/test:test_support", -+ -+ # NOTE: The above tests of gpu::GLImageNativePixmap cannot easily be made -+ # to run as part of //gpu's gl_tests or gpu_unittests: they crash when run -+ # with the former due to differences in GL configuration, and they are -+ # skipped when run with the latter due to differences in Ozone -+ # configuration. Simply leave them here with this dependency for the short -+ # time remaining until GLImageNativePixmap is eliminated altogether. -+ "//gpu/command_buffer/service:gles2", - "//testing/gtest", - "//ui/gfx", - "//ui/gl:run_all_unittests", -diff --git a/ui/ozone/gl/DEPS b/ui/ozone/gl/DEPS -new file mode 100644 -index 0000000000000..e6142e85d2154 ---- /dev/null -+++ b/ui/ozone/gl/DEPS -@@ -0,0 +1,6 @@ -+specific_include_rules = { -+ # NOTE: See comment in ./BUILD.gn with respect to this dependency. -+ "gl_image_ozone_native_pixmap_unittest\.cc": [ -+ "+gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h", -+ ], -+} -diff --git a/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc b/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc -index 9a538903c8ff0..1527df91a3238 100644 ---- a/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc -+++ b/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc -@@ -5,10 +5,10 @@ - #include - #include - -+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h" - #include "testing/gtest/include/gtest/gtest.h" - #include "ui/gfx/buffer_types.h" - #include "ui/gfx/client_native_pixmap.h" --#include "ui/gl/gl_image_native_pixmap.h" - #include "ui/gl/test/gl_image_test_template.h" - #include "ui/ozone/public/client_native_pixmap_factory_ozone.h" - #include "ui/ozone/public/ozone_platform.h" -@@ -83,7 +83,7 @@ class GLImageNativePixmapTestDelegate : public GLImageTestDelegateBase { - glGenTextures(1, &texture_id_); - } - -- auto image = gl::GLImageNativePixmap::Create( -+ auto image = gpu::GLImageNativePixmap::Create( - size, format, std::move(pixmap), GetTextureTarget(), texture_id_); - EXPECT_TRUE(image); - return image; -@@ -100,8 +100,9 @@ class GLImageNativePixmapTestDelegate : public GLImageTestDelegateBase { - format == gfx::BufferFormat::YUV_420_BIPLANAR) { - return 1; - } -- if (format == gfx::BufferFormat::P010) -+ if (format == gfx::BufferFormat::P010) { - return 3; -+ } - return 0; - } - diff --git a/chromium-112-ozone-wayland-vaapi-support.patch b/chromium-112-ozone-wayland-vaapi-support.patch deleted file mode 100644 index 3f4d4af..0000000 --- a/chromium-112-ozone-wayland-vaapi-support.patch +++ /dev/null @@ -1,625 +0,0 @@ -diff -up chromium-112.0.5615.49/media/gpu/args.gni.wayland-vaapi chromium-112.0.5615.49/media/gpu/args.gni ---- chromium-112.0.5615.49/media/gpu/args.gni.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/args.gni 2023-04-14 21:29:41.776328044 +0200 -@@ -6,10 +6,14 @@ import("//build/config/chromeos/ui_mode. - import("//build/config/ozone.gni") - - declare_args() { -- # Indicates if X11 VA-API-based hardware acceleration is to be used. -- # See also the comment near the |use_vaapi| arg. -- use_vaapi_x11 = is_linux && ozone_platform_x11 && -- (target_cpu == "x86" || target_cpu == "x64") && !is_castos -+ # Build Chrome support for using VA-API over X11. Note that setting this to true is -+ # not a guarantee that Chrome will use (or even try to use) VA-API over X11. In -+ # particular, it is possible to build Chrome with support for VA-API over X11 but -+ # pick Wayland as the Ozone backend at runtime. In this case, Chrome will try to -+ # use VA-API over DRM. -+ support_vaapi_over_x11 = -+ is_linux && ozone_platform_x11 && -+ (target_cpu == "x86" || target_cpu == "x64") && !is_castos - } - - declare_args() { -@@ -29,8 +33,9 @@ declare_args() { - # is typically the case on x86-based ChromeOS devices. - # VA-API should also be compiled by default on x11-using linux devices - # using x86/x64. -- use_vaapi = use_vaapi_x11 || (is_chromeos_lacros && -- (target_cpu == "x86" || target_cpu == "x64")) -+ use_vaapi = -+ support_vaapi_over_x11 || -+ (is_chromeos_lacros && (target_cpu == "x86" || target_cpu == "x64")) - - # Indicates if ChromeOS protected media support exists. This is used - # to enable the CDM daemon in Chrome OS as well as support for -diff -up chromium-112.0.5615.49/media/gpu/BUILD.gn.wayland-vaapi chromium-112.0.5615.49/media/gpu/BUILD.gn ---- chromium-112.0.5615.49/media/gpu/BUILD.gn.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/BUILD.gn 2023-04-14 21:29:41.776328044 +0200 -@@ -20,7 +20,7 @@ buildflag_header("buildflags") { - "USE_VAAPI_IMAGE_CODECS=$use_vaapi_image_codecs", - "USE_V4L2_CODEC=$use_v4l2_codec", - "USE_LIBV4L2=$use_v4lplugin", -- "USE_VAAPI_X11=$use_vaapi_x11", -+ "SUPPORT_VAAPI_OVER_X11=$support_vaapi_over_x11", - ] - } - -diff -up chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn ---- chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn 2023-04-14 21:29:41.776328044 +0200 -@@ -17,7 +17,7 @@ assert(use_vaapi) - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -- if (use_vaapi_x11) { -+ if (support_vaapi_over_x11) { - sigs += [ "va_x11.sigs" ] - } - if (is_chromeos_ash) { -@@ -139,7 +139,7 @@ source_set("vaapi") { - ] - } - -- if (use_vaapi_x11) { -+ if (support_vaapi_over_x11) { - deps += [ "//ui/gfx/x" ] - sources += [ - "vaapi_picture_native_pixmap_angle.cc", -@@ -213,7 +213,7 @@ source_set("common") { - deps += [ "//ui/ozone" ] - } - -- if (use_vaapi_x11) { -+ if (support_vaapi_over_x11) { - deps += [ "//ui/gfx/x" ] - } - -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc 2023-04-15 07:14:05.573796794 +0200 -@@ -13,9 +13,9 @@ - #if BUILDFLAG(IS_OZONE) - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h" - #endif // BUILDFLAG(IS_OZONE) --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h" --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - #if defined(USE_EGL) - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_egl.h" - #endif -@@ -41,19 +41,28 @@ std::unique_ptr CreateVaap - - } // namespace - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+VaapiPictureFactory::VaapiPictureFactory( -+ absl::optional may_use_vaapi_over_x11) -+ : may_use_vaapi_over_x11_(may_use_vaapi_over_x11) { -+#else - VaapiPictureFactory::VaapiPictureFactory() { -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - vaapi_impl_pairs_.insert( - std::make_pair(gl::kGLImplementationEGLGLES2, - VaapiPictureFactory::kVaapiImplementationDrm)); --#if BUILDFLAG(USE_VAAPI_X11) -- vaapi_impl_pairs_.insert( -- std::make_pair(gl::kGLImplementationEGLANGLE, -- VaapiPictureFactory::kVaapiImplementationAngle)); --#elif BUILDFLAG(IS_OZONE) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ CHECK(may_use_vaapi_over_x11_.has_value()); -+ if (may_use_vaapi_over_x11_.value()) { -+ vaapi_impl_pairs_.insert( -+ std::make_pair(gl::kGLImplementationEGLANGLE, -+ VaapiPictureFactory::kVaapiImplementationAngle)); -+ } -+#else - vaapi_impl_pairs_.insert( - std::make_pair(gl::kGLImplementationEGLANGLE, - VaapiPictureFactory::kVaapiImplementationDrm)); --#endif -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - DeterminePictureCreationAndDownloadingMechanism(); - } -@@ -93,19 +102,19 @@ VaapiPictureFactory::GetVaapiImplementat - } - - uint32_t VaapiPictureFactory::GetGLTextureTarget() { --#if BUILDFLAG(USE_VAAPI_X11) -- return GL_TEXTURE_2D; --#else -+#if BUILDFLAG(IS_CHROMEOS) - return GL_TEXTURE_EXTERNAL_OES; --#endif -+#else -+ return GL_TEXTURE_2D; -+#endif // BUILDFLAG(IS_CHROMEOS) - } - - gfx::BufferFormat VaapiPictureFactory::GetBufferFormat() { --#if BUILDFLAG(USE_VAAPI_X11) -- return gfx::BufferFormat::RGBX_8888; --#else -+#if BUILDFLAG(IS_CHROMEOS) - return gfx::BufferFormat::YUV_420_BIPLANAR; --#endif -+#else -+ return gfx::BufferFormat::RGBX_8888; -+#endif // BUILDFLAG(IS_CHROMEOS) - } - - void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() { -@@ -113,19 +122,23 @@ void VaapiPictureFactory::DeterminePictu - #if BUILDFLAG(IS_OZONE) - // We can be called without GL initialized, which is valid if we use Ozone. - case kVaapiImplementationNone: -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ DCHECK(may_use_vaapi_over_x11_.value_or(false)); -+#endif - create_picture_cb_ = base::BindRepeating( - &CreateVaapiPictureNativeImpl); - needs_vpp_for_downloading_ = true; - break; - #endif // BUILDFLAG(IS_OZONE) --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - case kVaapiImplementationAngle: -+ DCHECK(may_use_vaapi_over_x11_.value_or(false)); - create_picture_cb_ = base::BindRepeating( - &CreateVaapiPictureNativeImpl); - // Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP. - needs_vpp_for_downloading_ = false; - break; --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - case kVaapiImplementationDrm: - #if BUILDFLAG(IS_OZONE) - create_picture_cb_ = base::BindRepeating( -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h 2023-04-14 21:29:41.777328062 +0200 -@@ -35,7 +35,11 @@ class MEDIA_GPU_EXPORT VaapiPictureFacto - kVaapiImplementationAngle, - }; - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ explicit VaapiPictureFactory(absl::optional may_use_vaapi_over_x11); -+#else - VaapiPictureFactory(); -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - VaapiPictureFactory(const VaapiPictureFactory&) = delete; - VaapiPictureFactory& operator=(const VaapiPictureFactory&) = delete; -@@ -84,6 +88,11 @@ class MEDIA_GPU_EXPORT VaapiPictureFacto - - CreatePictureCB create_picture_cb_; - bool needs_vpp_for_downloading_ = false; -+ -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ // See comment in `VaapiWrapper::MayUseVaapiOverX11()`. -+ absl::optional may_use_vaapi_over_x11_; -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - }; - - } // namespace media -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc 2023-04-14 21:29:41.777328062 +0200 -@@ -113,7 +113,7 @@ VaapiStatus VaapiPictureNativePixmapOzon - ui::OzonePlatform* platform = ui::OzonePlatform::GetInstance(); - ui::SurfaceFactoryOzone* factory = platform->GetSurfaceFactoryOzone(); - gfx::BufferUsage buffer_usage = gfx::BufferUsage::SCANOUT_VDA_WRITE; --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - // The 'VaapiVideoDecodeAccelerator' requires the VPP to download the decoded - // frame from the internal surface to the allocated native pixmap. - // 'SCANOUT_VDA_WRITE' is used for 'YUV_420_BIPLANAR' on ChromeOS; For Linux, -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.wayland-vaapi 2023-04-14 21:29:41.775328024 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2023-04-14 21:29:41.777328062 +0200 -@@ -185,7 +185,12 @@ bool VaapiVideoDecodeAccelerator::Initia - Client* client) { - DCHECK(task_runner_->BelongsToCurrentThread()); - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ vaapi_picture_factory_ = -+ std::make_unique(VaapiWrapper::MayUseVaapiOverX11()); -+#else - vaapi_picture_factory_ = std::make_unique(); -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - if (config.is_encrypted()) { - NOTREACHED() << "Encrypted streams are not supported for this VDA"; -@@ -1211,7 +1216,7 @@ VaapiVideoDecodeAccelerator::GetSupporte - - VaapiVideoDecodeAccelerator::BufferAllocationMode - VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - // The IMPORT mode is used for Android on Chrome OS, so this doesn't apply - // here. - DCHECK_NE(output_mode_, VideoDecodeAccelerator::Config::OutputMode::IMPORT); -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc 2023-04-15 07:38:19.058957112 +0200 -@@ -41,6 +41,11 @@ struct TestParams { - bool decode_using_client_picture_buffers; - }; - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+// TODO: Add it in TestParams to cover Ozone/Wayland. -+bool kMayUseVaapiOverX11 = true; -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ - constexpr int32_t kBitstreamId = 123; - constexpr size_t kInputSize = 256; - -@@ -134,7 +139,13 @@ class MockVaapiPicture : public VaapiPic - - class MockVaapiPictureFactory : public VaapiPictureFactory { - public: -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ explicit MockVaapiPictureFactory(absl::optional may_use_vaapi_over_x11) -+ : VaapiPictureFactory(may_use_vaapi_over_x11) {} -+#else - MockVaapiPictureFactory() = default; -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ - ~MockVaapiPictureFactory() override = default; - - MOCK_METHOD3(MockCreateVaapiPicture, -@@ -167,7 +178,12 @@ class VaapiVideoDecodeAcceleratorTest : - const scoped_refptr& image) { return true; })), - decoder_thread_("VaapiVideoDecodeAcceleratorTestThread"), - mock_decoder_(new ::testing::StrictMock), -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ mock_vaapi_picture_factory_( -+ new MockVaapiPictureFactory(kMayUseVaapiOverX11)), -+#else - mock_vaapi_picture_factory_(new MockVaapiPictureFactory()), -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - mock_vaapi_wrapper_(new MockVaapiWrapper(VaapiWrapper::kDecode)), - mock_vpp_vaapi_wrapper_(new MockVaapiWrapper(VaapiWrapper::kDecode)), - weak_ptr_factory_(this) { -@@ -422,11 +438,13 @@ TEST_P(VaapiVideoDecodeAcceleratorTest, - mock_vaapi_picture_factory_->GetVaapiImplementation( - gl::kGLImplementationEGLGLES2)); - --#if BUILDFLAG(USE_VAAPI_X11) -- EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationAngle, -- mock_vaapi_picture_factory_->GetVaapiImplementation( -- gl::kGLImplementationEGLANGLE)); --#elif BUILDFLAG(IS_OZONE) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ if (kMayUseVaapiOverX11) { -+ EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationAngle, -+ mock_vaapi_picture_factory_->GetVaapiImplementation( -+ gl::kGLImplementationEGLANGLE)); -+ } -+#else - EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationDrm, - mock_vaapi_picture_factory_->GetVaapiImplementation( - gl::kGLImplementationEGLANGLE)); -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc 2023-04-14 21:29:41.777328062 +0200 -@@ -62,7 +62,7 @@ - #include "ui/gl/gl_bindings.h" - #include "ui/gl/gl_implementation.h" - --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - typedef XID Drawable; - - extern "C" { -@@ -70,7 +70,7 @@ extern "C" { - } - - #include "ui/gfx/x/connection.h" // nogncheck --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - #if BUILDFLAG(IS_OZONE) - #include "ui/ozone/public/ozone_platform.h" -@@ -84,14 +84,14 @@ using media_gpu_vaapi::kModuleVa_prot; - - using media_gpu_vaapi::kModuleVa; - using media_gpu_vaapi::kModuleVa_drm; --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - using media_gpu_vaapi::kModuleVa_x11; --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - using media_gpu_vaapi::InitializeStubs; - using media_gpu_vaapi::IsVaInitialized; --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - using media_gpu_vaapi::IsVa_x11Initialized; --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - using media_gpu_vaapi::IsVa_drmInitialized; - using media_gpu_vaapi::StubPathMap; - -@@ -680,6 +680,12 @@ class VADisplayState { - - void SetDrmFd(base::PlatformFile fd) { drm_fd_.reset(HANDLE_EINTR(dup(fd))); } - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ absl::optional MayUseVaapiOverX11() const { -+ return may_use_vaapi_over_x11_; -+ } -+#endif -+ - private: - friend class base::NoDestructor; - -@@ -702,6 +708,13 @@ class VADisplayState { - // Drm fd used to obtain access to the driver interface by VA. - base::ScopedFD drm_fd_; - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ // Whether we'll be possibly using VA-API over Ozone/X11. This should only be -+ // set (if at all) during the pre-sandbox initialization. If absl::nullopt, -+ // all calls to Initialize() will return false immediately. -+ absl::optional may_use_vaapi_over_x11_; -+#endif -+ - // The VADisplay handle. Valid between Initialize() and Deinitialize(). - VADisplay va_display_; - -@@ -723,6 +736,15 @@ VADisplayState* VADisplayState::Get() { - - // static - void VADisplayState::PreSandboxInitialization() { -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ if (ui::OzonePlatform::IsInitialized()) { -+ VADisplayState::Get()->may_use_vaapi_over_x11_ = -+ ui::OzonePlatform::GetInstance() -+ ->GetPlatformProperties() -+ .supports_vaapi_x11; -+ } -+#endif -+ - constexpr char kRenderNodeFilePattern[] = "/dev/dri/renderD%d"; - // This loop ends on either the first card that does not exist or the first - // render node that is not vgem. -@@ -755,20 +777,18 @@ VADisplayState::VADisplayState() - bool VADisplayState::Initialize() { - base::AutoLock auto_lock(va_lock_); - --#if BUILDFLAG(IS_OZONE) && BUILDFLAG(IS_LINUX) -- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on -- // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi -- // for more details. This will also require revisiting everything that's -- // guarded by USE_VAAPI_X11. For example, if USE_VAAPI_X11 is true, but the -- // user chooses the Wayland backend for Ozone at runtime, then many things (if -- // not all) that we do for X11 won't apply. -- if (!ui::OzonePlatform::GetInstance()->GetPlatformProperties().supports_vaapi) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ if (!may_use_vaapi_over_x11_.has_value()) - return false; - #endif - - bool libraries_initialized = IsVaInitialized() && IsVa_drmInitialized(); --#if BUILDFLAG(USE_VAAPI_X11) -- libraries_initialized = libraries_initialized && IsVa_x11Initialized(); -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ // Initialize VA-API X11 display backend for Linux Ozone/X11. -+ // See comment in OzonePlatform::PlatformProperties::supports_vaapi_x11 for -+ // more details. -+ if (may_use_vaapi_over_x11_.value()) -+ libraries_initialized = libraries_initialized && IsVa_x11Initialized(); - #endif - if (!libraries_initialized) - return false; -@@ -783,7 +803,7 @@ bool VADisplayState::Initialize() { - return success; - } - --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - absl::optional GetVADisplayStateX11(const base::ScopedFD& drm_fd) { - switch (gl::GetGLImplementation()) { -@@ -809,13 +829,19 @@ absl::optional GetVADisplaySt - } - } - --#else -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - absl::optional GetVADisplayState(const base::ScopedFD& drm_fd) { - switch (gl::GetGLImplementation()) { - case gl::kGLImplementationEGLGLES2: -+#if BUILDFLAG(IS_CHROMEOS) -+ // GetVADisplayState() should not get called on Linux with Ozone/X11 -+ // (GetVADisplayStateX11() should get called instead), and we haven't tried -+ // VA-API decoding on Linux with Ozone/Wayland and anything other than -+ // native EGL/GLES2. - case gl::kGLImplementationEGLANGLE: - case gl::kGLImplementationNone: -+#endif - return vaGetDisplayDRM(drm_fd.get()); - default: - LOG(WARNING) << "VAAPI video acceleration not available for " -@@ -825,18 +851,23 @@ absl::optional GetVADisplaySt - } - } - --#endif // BUILDFLAG(USE_VAAPI_X11) -- - bool VADisplayState::InitializeVaDisplay_Locked() { -- absl::optional display = --#if BUILDFLAG(USE_VAAPI_X11) -- GetVADisplayStateX11(drm_fd_); --#else -- GetVADisplayState(drm_fd_); --#endif -+ absl::optional display; - -- if (!display) -- return false; -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ DCHECK(may_use_vaapi_over_x11_.has_value()); -+ if (may_use_vaapi_over_x11_.value()) { -+ display = GetVADisplayStateX11(drm_fd_); -+ if (!display) -+ return false; -+ } -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ -+ if (!display) { -+ display = GetVADisplayState(drm_fd_); -+ if (!display) -+ return false; -+ } - - va_display_ = *display; - if (!vaDisplayIsValid(va_display_)) { -@@ -1671,6 +1702,13 @@ scoped_refptr VaapiWrapper - enforce_sequence_affinity); - } - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+// static -+absl::optional VaapiWrapper::MayUseVaapiOverX11() { -+ return VADisplayState::Get()->MayUseVaapiOverX11(); -+} -+#endif -+ - // static - std::vector VaapiWrapper::GetSupportedScalabilityModes( - VideoCodecProfile media_profile, -@@ -2684,12 +2722,13 @@ bool VaapiWrapper::MapAndCopyAndExecute( - return Execute_Locked(va_surface_id, va_buffer_ids); - } - --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id, - x11::Pixmap x_pixmap, - gfx::Size dest_size) { - CHECK(!enforce_sequence_affinity_ || - sequence_checker_.CalledOnValidSequence()); -+ CHECK(MayUseVaapiOverX11().value_or(false)); - base::AutoLockMaybe auto_lock(va_lock_.get()); - - VAStatus va_res = vaSyncSurface(va_display_, va_surface_id); -@@ -2703,7 +2742,7 @@ bool VaapiWrapper::PutSurfaceIntoPixmap( - VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAPutSurface, false); - return true; - } --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - std::unique_ptr VaapiWrapper::CreateVaImage( - VASurfaceID va_surface_id, -@@ -3105,7 +3144,7 @@ void VaapiWrapper::PreSandboxInitializat - - paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix); - paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix); --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix); - #endif - #if BUILDFLAG(IS_CHROMEOS_ASH) -diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h ---- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h 2023-04-14 21:29:41.777328062 +0200 -@@ -36,9 +36,9 @@ - #include "third_party/abseil-cpp/absl/types/optional.h" - #include "ui/gfx/geometry/size.h" - --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - #include "ui/gfx/x/xproto.h" // nogncheck --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - namespace gfx { - enum class BufferFormat; -@@ -186,6 +186,16 @@ class MEDIA_GPU_EXPORT VaapiWrapper - VaapiWrapper(const VaapiWrapper&) = delete; - VaapiWrapper& operator=(const VaapiWrapper&) = delete; - -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) -+ // Returns true if VaapiWrapper instances may use VA-API over X11 and false -+ // otherwise (VA-API over DRM will be used). If this returns absl::nullopt, -+ // it's because it was not possible to determine how VA-API may be used. This -+ // should only be called after PreSandboxInitialization() (which is assumed to -+ // be called only once during the GPU process startup) and is safe to call -+ // from any thread. Additionally, this should always return the same value. -+ static absl::optional MayUseVaapiOverX11(); -+#endif -+ - // Returns the supported SVC scalability modes for specified profile. - static std::vector GetSupportedScalabilityModes( - VideoCodecProfile media_profile, -@@ -439,13 +449,13 @@ class MEDIA_GPU_EXPORT VaapiWrapper - VASurfaceID va_surface_id, - const std::vector>& va_buffers); - --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - // Put data from |va_surface_id| into |x_pixmap| of size - // |dest_size|, converting/scaling to it. - [[nodiscard]] bool PutSurfaceIntoPixmap(VASurfaceID va_surface_id, - x11::Pixmap x_pixmap, - gfx::Size dest_size); --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - // Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into - // memory with the given |format| and |size|. If |format| is not equal to the -diff -up chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment ---- chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200 -+++ chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment 2023-04-14 21:29:41.777328062 +0200 -@@ -7,8 +7,8 @@ extern "C" { - - #include - #include --#if BUILDFLAG(USE_VAAPI_X11) -+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - #include --#endif // BUILDFLAG(USE_VAAPI_X11) -+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11) - - } -diff -up chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc.wayland-vaapi chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc ---- chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc.wayland-vaapi 2023-03-30 02:34:19.000000000 +0200 -+++ chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc 2023-04-14 21:29:41.778328082 +0200 -@@ -197,7 +197,7 @@ class OzonePlatformX11 : public OzonePla - properties->app_modal_dialogs_use_event_blocker = true; - properties->fetch_buffer_formats_for_gmb_on_gpu = true; - #if BUILDFLAG(IS_LINUX) -- properties->supports_vaapi = true; -+ properties->supports_vaapi_x11 = true; - #endif - - initialised = true; -diff -up chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h.wayland-vaapi chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h ---- chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h.wayland-vaapi 2023-03-30 02:34:19.000000000 +0200 -+++ chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h 2023-04-14 21:29:41.778328082 +0200 -@@ -145,12 +145,13 @@ class COMPONENT_EXPORT(OZONE) OzonePlatf - bool fetch_buffer_formats_for_gmb_on_gpu = false; - - #if BUILDFLAG(IS_LINUX) -- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on -- // Linux. At the moment, VA-API Linux implementation supports only X11 -- // backend. This implementation must be refactored to support Ozone -- // properly. As a temporary solution, VA-API on Linux checks if vaapi is -- // supported (which implicitly means that it is Ozone/X11). -- bool supports_vaapi = false; -+ // VA-API supports different display backends. -+ // See https://github.com/intel/libva/blob/master/va/va_backend.h -+ // -+ // VA/DRM and VA/X11 are used by Chromium at the moment. All Ozone platforms -+ // support VA/DRM by default. `supports_vaapi_x11` indicates if VA/X11 -+ // supported; it is true only on Ozone/X11 platform. -+ bool supports_vaapi_x11 = false; - #endif - - // Indicates that the platform allows client applications to manipulate diff --git a/chromium-114-wireless-el7.patch b/chromium-114-wireless-el7.patch deleted file mode 100644 index 9776e90..0000000 --- a/chromium-114-wireless-el7.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc ---- chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me 2023-05-13 12:09:44.423727385 +0200 -+++ chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc 2023-05-13 17:52:19.934347246 +0200 -@@ -11,7 +11,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -48,6 +47,10 @@ using sandbox::syscall_broker::BrokerPro - #define F2FS_IOC_GET_FEATURES _IOR(0xf5, 12, uint32_t) - #endif - -+#if !defined(SIOCGIWNAME) -+#define SIOCGIWNAME 0x8B01 -+#endif -+ - namespace sandbox::policy { - - namespace { diff --git a/chromium-115-buildflag-el7.patch b/chromium-115-buildflag-el7.patch deleted file mode 100644 index d3e2a7d..0000000 --- a/chromium-115-buildflag-el7.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc.buildflag-el7 chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc ---- chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc.buildflag-el7 2023-06-07 21:48:29.000000000 +0200 -+++ chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc 2023-06-17 16:50:46.373867625 +0200 -@@ -79,7 +79,7 @@ - #include "ui/gfx/vector_icon_types.h" - #endif - --#if BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#ifdef GOOGLE_CHROME_BRANDING - #include "components/vector_icons/vector_icons.h" // nogncheck - #endif - -@@ -631,7 +631,7 @@ bool OmniboxEditModel::ShouldShowCurrent - - ui::ImageModel OmniboxEditModel::GetSuperGIcon(int image_size, - bool dark_mode) const { --#if BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#ifdef GOOGLE_CHROME_BRANDING - if (dark_mode) { - return ui::ImageModel::FromVectorIcon( - vector_icons::kGoogleGLogoMonochromeIcon, ui::kColorRefPrimary100, diff --git a/chromium-115-clang-warnings.patch b/chromium-115-clang-warnings.patch deleted file mode 100644 index 2bbd08f..0000000 --- a/chromium-115-clang-warnings.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up chromium-115.0.5790.98/sql/recover_module/cursor.h.me chromium-115.0.5790.98/sql/recover_module/cursor.h ---- chromium-115.0.5790.98/sql/recover_module/cursor.h.me 2023-07-21 20:13:43.587451992 +0200 -+++ chromium-115.0.5790.98/sql/recover_module/cursor.h 2023-07-21 20:16:24.989457148 +0200 -@@ -61,6 +61,10 @@ class VirtualCursor { - // The VirtualCursor instance that embeds a given SQLite virtual table cursor. - // - // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor(). -+#ifdef __GNUC__ -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Winvalid-offsetof" -+#endif - static inline VirtualCursor* FromSqliteCursor( - sqlite3_vtab_cursor* sqlite_cursor) { - VirtualCursor* result = reinterpret_cast( -@@ -69,6 +73,9 @@ class VirtualCursor { - CHECK_EQ(sqlite_cursor, &result->sqlite_cursor_); - return result; - } -+#ifdef __GNUC__ -+#pragma GCC diagnostic pop -+#endif - - // Seeks the cursor to the first readable row. Returns a SQLite status code. - int First(); -diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp ---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp.me 2023-07-21 20:10:05.119385885 +0200 -+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/BlobCache.cpp 2023-07-21 20:10:14.386558331 +0200 -@@ -14,7 +14,6 @@ - #include "libANGLE/histogram_macros.h" - #include "platform/PlatformMethods.h" - --#define USE_SYSTEM_ZLIB - #include "compression_utils_portable.h" - - namespace egl -diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp ---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp.me 2023-07-21 20:10:36.864976619 +0200 -+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/MemoryProgramCache.cpp 2023-07-21 20:11:07.629549228 +0200 -@@ -8,7 +8,6 @@ - // layer to warm up the cache from disk. - - // Include zlib first, otherwise FAR gets defined elsewhere. --#define USE_SYSTEM_ZLIB - #include "compression_utils_portable.h" - - #include "libANGLE/MemoryProgramCache.h" -diff -up chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp.me chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp ---- chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp.me 2023-07-21 20:09:44.206996746 +0200 -+++ chromium-115.0.5790.98/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp 2023-07-21 20:09:51.834138674 +0200 -@@ -10,7 +10,6 @@ - - #include "libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h" - --#define USE_SYSTEM_ZLIB - #include "compression_utils_portable.h" - - namespace rx diff --git a/chromium-115-compiler-SkColor4f.patch b/chromium-115-compiler-SkColor4f.patch deleted file mode 100644 index 7e17cb0..0000000 --- a/chromium-115-compiler-SkColor4f.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc ---- chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me 2023-06-24 10:38:11.011511463 +0200 -+++ chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc 2023-06-24 13:07:35.865375884 +0200 -@@ -84,6 +84,7 @@ CanvasStyle::CanvasStyle(const CanvasSty - - void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags, - float global_alpha) const { -+ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha}; - switch (type_) { - case kColor: - ApplyColorToFlags(flags, global_alpha); -@@ -91,12 +92,12 @@ void CanvasStyle::ApplyToFlags(cc::Paint - case kGradient: - GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(), - ImageDrawOptions()); -- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); -+ flags.setColor(custom_color); - break; - case kImagePattern: - GetCanvasPattern()->GetPattern()->ApplyToFlags( - flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform())); -- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); -+ flags.setColor(custom_color); - break; - default: - NOTREACHED(); diff --git a/chromium-116-constexpr.patch b/chromium-116-constexpr.patch deleted file mode 100644 index 08b5930..0000000 --- a/chromium-116-constexpr.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -up chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me chromium-116.0.5845.96/cc/paint/paint_op_writer.h ---- chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me 2023-08-16 19:09:48.998173285 +0200 -+++ chromium-116.0.5845.96/cc/paint/paint_op_writer.h 2023-08-16 21:13:44.442431527 +0200 -@@ -104,7 +104,16 @@ class CC_PAINT_EXPORT PaintOpWriter { - - private: - template -- static constexpr size_t SerializedSizeSimple(); -+ static constexpr size_t SerializedSizeSimple() { -+ static_assert(!std::is_pointer_v); -+ return base::bits::AlignUp(sizeof(T), kDefaultAlignment); -+ } -+ // size_t is always serialized as uint64_t to make the serialized result -+ // portable between 32bit and 64bit processes. -+ template <> -+ constexpr size_t SerializedSizeSimple() { -+ return base::bits::AlignUp(sizeof(uint64_t), kDefaultAlignment); -+ } - - public: - // SerializedSize() returns the maximum serialized size of the given type or -@@ -115,7 +124,10 @@ class CC_PAINT_EXPORT PaintOpWriter { - // deserialization, and make it possible to allow dynamic sizing for some - // data types (see the specialized/overloaded functions). - template -- static constexpr size_t SerializedSize(); -+ static constexpr size_t SerializedSize() { -+ static_assert(std::is_arithmetic_v || std::is_enum_v); -+ return SerializedSizeSimple(); -+ } - template - static constexpr size_t SerializedSize(const T& data); - static size_t SerializedSize(const PaintImage& image); -@@ -360,19 +372,6 @@ class CC_PAINT_EXPORT PaintOpWriter { - const bool enable_security_constraints_; - }; - --template --constexpr size_t PaintOpWriter::SerializedSizeSimple() { -- static_assert(!std::is_pointer_v); -- return base::bits::AlignUp(sizeof(T), kDefaultAlignment); --} -- --// size_t is always serialized as two uint32_ts to make the serialized result --// portable between 32bit and 64bit processes. --template <> --constexpr size_t PaintOpWriter::SerializedSizeSimple() { -- return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment); --} -- - template <> - constexpr size_t PaintOpWriter::SerializedSize() { - return SerializedSizeSimple() + // fGainmapRatioMin -@@ -386,11 +385,6 @@ constexpr size_t PaintOpWriter::Serializ - } - - template --constexpr size_t PaintOpWriter::SerializedSize() { -- static_assert(std::is_arithmetic_v || std::is_enum_v); -- return SerializedSizeSimple(); --} --template - constexpr size_t PaintOpWriter::SerializedSize(const T& data) { - return SerializedSizeSimple(); - } diff --git a/chromium-116-el7-include-fcntl-memfd.patch b/chromium-116-el7-include-fcntl-memfd.patch deleted file mode 100644 index d23745e..0000000 --- a/chromium-116-el7-include-fcntl-memfd.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -up chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c ---- chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me 2022-12-24 11:08:03.212333476 +0100 -+++ chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c 2022-12-24 11:08:18.316606155 +0100 -@@ -44,7 +44,7 @@ - #include - #include - #include --#include -+#include - - #include "wayland-os.h" - #include "wayland-util.h" -diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc ---- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400 -+++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400 -@@ -56,6 +56,7 @@ - - #if V8_OS_LINUX - #include // for prctl -+#include // for MFD_CLOEXEC - #endif - - #if defined(V8_OS_FUCHSIA) -diff -up iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c ---- iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me 2022-12-08 21:59:43.502200984 +0100 -+++ iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c 2022-12-08 22:13:53.375653343 +0100 -@@ -29,7 +29,8 @@ - - #include - #include --#include -+#include // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL -+#include // for MFD_CLOEXEC - #include - #include - #include -diff -up chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.me chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc ---- chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.me 2023-08-17 06:32:32.484538849 +0200 -+++ chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc 2023-08-17 07:02:01.965168328 +0200 -@@ -5,6 +5,7 @@ - #include "ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.h" - - #include -+#include - - #include - #include diff --git a/chromium-116-system-brotli.patch b/chromium-116-system-brotli.patch deleted file mode 100644 index b62b128..0000000 --- a/chromium-116-system-brotli.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up chromium-116.0.5845.50/net/filter/brotli_source_stream.cc.system-brotli chromium-116.0.5845.50/net/filter/brotli_source_stream.cc ---- chromium-116.0.5845.50/net/filter/brotli_source_stream.cc.system-brotli 2023-07-30 13:06:06.284705823 +0200 -+++ chromium-116.0.5845.50/net/filter/brotli_source_stream.cc 2023-07-30 13:08:43.398218141 +0200 -@@ -12,8 +12,8 @@ - #include "base/memory/raw_ptr.h" - #include "base/metrics/histogram_macros.h" - #include "net/base/io_buffer.h" --#include "third_party/brotli/include/brotli/decode.h" --#include "third_party/brotli/include/brotli/shared_dictionary.h" -+#include -+#include - - namespace net { - -diff -up chromium-116.0.5845.50/net/ssl/cert_compression.cc.system-brotli chromium-116.0.5845.50/net/ssl/cert_compression.cc ---- chromium-116.0.5845.50/net/ssl/cert_compression.cc.system-brotli 2023-07-26 17:43:01.000000000 +0200 -+++ chromium-116.0.5845.50/net/ssl/cert_compression.cc 2023-07-30 13:06:06.284705823 +0200 -@@ -9,7 +9,7 @@ - #include "third_party/boringssl/src/include/openssl/ssl.h" - - #if !defined(NET_DISABLE_BROTLI) --#include "third_party/brotli/include/brotli/decode.h" -+#include - #endif - - namespace net { -diff -up chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc.system-brotli chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc ---- chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc.system-brotli 2023-07-26 17:43:23.000000000 +0200 -+++ chromium-116.0.5845.50/ui/base/resource/resource_bundle.cc 2023-07-30 13:06:06.284705823 +0200 -@@ -32,7 +32,7 @@ - #include "net/filter/gzip_header.h" - #include "skia/ext/image_operations.h" - #include "third_party/abseil-cpp/absl/types/variant.h" --#include "third_party/brotli/include/brotli/decode.h" -+#include - #include "third_party/skia/include/core/SkBitmap.h" - #include "third_party/skia/include/core/SkColor.h" - #include "third_party/zlib/google/compression_utils.h" diff --git a/chromium-117-el7-default_constructor.patch b/chromium-117-el7-default_constructor.patch deleted file mode 100644 index 1b386b6..0000000 --- a/chromium-117-el7-default_constructor.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc ---- chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me 2023-09-16 09:43:41.717545215 +0200 -+++ chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc 2023-09-16 09:48:07.319539585 +0200 -@@ -187,7 +187,8 @@ void OnJsonDecoded(std::unique_ptr --SortedItems::const_iterator GetLastIter(const SortedItems& cache) { -+typename SortedItems::const_iterator GetLastIter(const SortedItems& cache) { - CHECK(!cache.empty()); - auto it = cache.end(); - return std::prev(it); -@@ -967,9 +967,9 @@ bool DownloadBubbleUpdateService::CacheM - } - - template --SortedItems::iterator -+typename SortedItems::iterator - DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter( -- SortedItems::iterator iter, -+ typename SortedItems::iterator iter, - SortedItems& cache, - IterMap& iter_map) { - CHECK(iter != cache.end()); -diff -up chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h ---- chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h.me 2023-06-18 21:52:53.515625237 +0200 -+++ chromium-115.0.5790.32/components/optimization_guide/core/tflite_model_executor.h 2023-06-18 21:53:06.881881293 +0200 -@@ -189,7 +189,7 @@ class TFLiteModelExecutor : public Model - void SendForBatchExecution( - BatchExecutionCallback callback_on_complete, - base::TimeTicks start_time, -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -diff -up chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc ---- chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.me 2023-06-19 10:03:32.319218678 +0200 -+++ chromium-115.0.5790.32/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2023-06-19 10:04:12.023942232 +0200 -@@ -169,7 +169,7 @@ class HTMLFastPathParser { - using Span = base::span; - using USpan = base::span; - // 32 matches that used by HTMLToken::Attribute. -- typedef std::conditional, -+ typedef typename std::conditional, - UCharLiteralBuffer<32>, - LCharLiteralBuffer<32>>::type LiteralBufferType; - typedef UCharLiteralBuffer<32> UCharLiteralBufferType; -diff -up chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h.me chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h ---- chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h.me 2023-08-02 16:18:30.380108125 +0200 -+++ chromium-116.0.5845.50/content/public/browser/web_ui_browser_interface_broker_registry.h 2023-08-02 16:20:59.660024578 +0200 -@@ -127,10 +127,10 @@ class CONTENT_EXPORT WebUIBrowserInterfa - // - // TODO(crbug.com/1407936): Point to WebUIJsBridge documentation. - template -- JsBridgeTraits::BinderInitializer& ForWebUIWithJsBridge() { -+ typename JsBridgeTraits::BinderInitializer& ForWebUIWithJsBridge() { - using Traits = JsBridgeTraits; -- using Interface = Traits::Interface; -- using JsBridgeBinderInitializer = Traits::BinderInitializer; -+ using Interface = typename Traits::Interface; -+ using JsBridgeBinderInitializer = typename Traits::BinderInitializer; - - // WebUIController::GetType() requires an instantiated WebUIController - // (because it's a virtual method and can't be static). Here we only have -diff -up chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h ---- chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.me 2023-08-02 20:41:23.984729462 +0200 -+++ chromium-116.0.5845.50/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h 2023-08-02 20:41:53.737583093 +0200 -@@ -270,8 +270,8 @@ class CORE_EXPORT ObjectPaintPropertiesS - NodeList& nodes, - NodeId node_id, - const ParentType& parent, -- NodeType::State&& state, -- const NodeType::AnimationState& animation_state = -+ typename NodeType::State&& state, -+ const typename NodeType::AnimationState& animation_state = - NodeType::AnimationState()) { - // First, check if we need to add a new node. - if (!nodes.HasField(node_id)) { -diff -up chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h.me chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h ---- chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h.me 2023-09-15 10:22:51.889698402 +0200 -+++ chromium-117.0.5938.62/components/optimization_guide/core/tflite_model_executor.h 2023-09-15 10:28:26.702716224 +0200 -@@ -234,7 +234,7 @@ class TFLiteModelExecutor : public Model - // Starts the synchronous execution of the model. Returns model outputs. - // Model needs to be loaded. Synchronous calls do not load or unload model. - std::vector> SendForBatchExecutionSync( -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -389,7 +389,7 @@ class TFLiteModelExecutor : public Model - // executes it on the model execution thread. - void LoadModelFileAndBatchExecute( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs) { -+ typename ModelExecutor::ConstRefInputVector inputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - -@@ -406,7 +406,7 @@ class TFLiteModelExecutor : public Model - - // Batch executes the loaded model for inputs. - void BatchExecuteLoadedModel( -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - std::vector>* outputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -466,7 +466,7 @@ class TFLiteModelExecutor : public Model - // Unloads the model if needed. - void BatchExecuteLoadedModelAndRunCallback( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - ExecutionStatus execution_status) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -diff -up chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc.me chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc ---- chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc.me 2023-09-15 17:20:22.550657586 +0200 -+++ chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.cc 2023-09-15 17:24:11.396716734 +0200 -@@ -399,7 +399,7 @@ class RetryingFetcherImpl final : public - RetryingFetcherImpl(const RetryingFetcherImpl&) = delete; - RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete; - -- void Start(ProtoFetcher::Callback callback) override { -+ void Start(typename ProtoFetcher::Callback callback) override { - callback_ = std::move(callback); - Retry(); - } -@@ -435,7 +435,7 @@ class RetryingFetcherImpl final : public - } - - // Client callback. -- ProtoFetcher::Callback callback_; -+ typename ProtoFetcher::Callback callback_; - - // Retry controls. - base::OneShotTimer timer_; -@@ -578,7 +578,7 @@ ParallelFetchManager: - template - void ParallelFetchManager::Fetch( - const Request& request, -- Fetcher::Callback callback) { -+ typename Fetcher::Callback callback) { - CHECK(callback) << "Use base::DoNothing() instead of empty callback."; - KeyType key = requests_in_flight_.Add(MakeFetcher(request)); - requests_in_flight_.Lookup(key)->Start( -diff -up chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h.me chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h ---- chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h.me 2023-09-15 17:20:56.540460391 +0200 -+++ chromium-117.0.5938.62/components/supervised_user/core/browser/proto_fetcher.h 2023-09-15 17:22:18.246237817 +0200 -@@ -165,10 +165,10 @@ class ParallelFetchManager { - - // Starts the fetch. Underlying fetcher is stored internally, and will be - // cleaned up after finish or when this manager is destroyed. -- void Fetch(const Request& request, Fetcher::Callback callback); -+ void Fetch(const Request& request, typename Fetcher::Callback callback); - - private: -- using KeyType = base::IDMap>::KeyType; -+ using KeyType = typename base::IDMap>::KeyType; - - // Remove fetcher under key from requests_in_flight_. - void Remove(KeyType key); diff --git a/chromium-118-arm64-memory_tagging.patch b/chromium-118-arm64-memory_tagging.patch deleted file mode 100644 index 463fb37..0000000 --- a/chromium-118-arm64-memory_tagging.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h ---- chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me 2023-10-03 20:25:01.282782425 +0200 -+++ chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h 2023-10-03 20:25:27.151236664 +0200 -@@ -152,10 +152,7 @@ static_assert(sizeof(void*) != 8, ""); - (!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \ - defined(ARCH_CPU_LITTLE_ENDIAN)) - --#define PA_CONFIG_HAS_MEMORY_TAGGING() \ -- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \ -- !defined(ADDRESS_SANITIZER) && \ -- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID))) -+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0 - - #if PA_CONFIG(HAS_MEMORY_TAGGING) - static_assert(sizeof(void*) == 8); diff --git a/chromium-118-el7_v4l2_quantization.patch b/chromium-118-el7_v4l2_quantization.patch deleted file mode 100644 index 638863b..0000000 --- a/chromium-118-el7_v4l2_quantization.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc ---- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me 2023-10-07 12:24:51.194618144 +0200 -+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc 2023-10-07 12:26:30.727448581 +0200 -@@ -1219,7 +1219,7 @@ void V4L2CaptureDelegate::SetErrorState( - client_->OnError(error, from_here, reason); - } - --#if BUILDFLAG(IS_LINUX) -+#if 0 //BUILDFLAG(IS_LINUX) - gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() { - v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace; - v4l2_quantization v4l2_range = -diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h ---- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me 2023-10-07 12:29:35.588406023 +0200 -+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h 2023-10-07 12:28:42.057036014 +0200 -@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate - const base::Location& from_here, - const std::string& reason); - --#if BUILDFLAG(IS_LINUX) -+#if 0 //BUILDFLAG(IS_LINUX) - // Systems which describe a "color space" usually map that to one or more of - // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the - // matched value as first priority. Otherwise, if there is no best matching diff --git a/chromium-118-python-3.12-deprecated.patch b/chromium-118-python-3.12-deprecated.patch deleted file mode 100644 index 5837ae5..0000000 --- a/chromium-118-python-3.12-deprecated.patch +++ /dev/null @@ -1,138 +0,0 @@ -diff -up chromium-115.0.5790.102/base/write_build_date_header.py.me chromium-115.0.5790.102/base/write_build_date_header.py ---- chromium-115.0.5790.102/base/write_build_date_header.py.me 2023-07-22 14:23:42.620679397 +0200 -+++ chromium-115.0.5790.102/base/write_build_date_header.py 2023-07-22 15:24:46.833310310 +0200 -@@ -17,7 +17,7 @@ def main(): - args = argument_parser.parse_args() - - date_val = int(args.timestamp) -- date = datetime.datetime.utcfromtimestamp(date_val) -+ date = datetime.datetime.fromtimestamp(date_val, datetime.timezone.utc) - output = ('// Generated by //base/write_build_date_header.py\n' - '#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n' - f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}' -diff -up chromium-115.0.5790.102/build/write_buildflag_header.py.me chromium-115.0.5790.102/build/write_buildflag_header.py ---- chromium-115.0.5790.102/build/write_buildflag_header.py.me 2023-07-22 14:16:14.196975451 +0200 -+++ chromium-115.0.5790.102/build/write_buildflag_header.py 2023-07-22 14:20:24.977239994 +0200 -@@ -44,7 +44,7 @@ def GetOptions(): - header_guard = cmdline_options.output.upper() - if header_guard[0].isdigit(): - header_guard = '_' + header_guard -- header_guard = re.sub('[^\w]', '_', header_guard) -+ header_guard = re.sub(r'[^\w]', '_', header_guard) - header_guard += '_' - - # The actual output file is inside the gen dir. -diff -up chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py ---- chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py.me 2023-07-22 14:47:34.230764210 +0200 -+++ chromium-115.0.5790.102/components/resources/protobufs/binary_proto_generator.py 2023-07-22 15:11:50.360983383 +0200 -@@ -9,7 +9,8 @@ - """ - from __future__ import print_function - import abc --import imp -+import types -+import importlib - import optparse - import os - import re -@@ -40,6 +41,12 @@ class GoogleProtobufModuleImporter: - return filepath - return None - -+ def load_source(name: str, path: str) -> types.ModuleType: -+ spec = importlib.util.spec_from_file_location(name, path) -+ module = importlib.util.module_from_spec(spec) -+ spec.loader.exec_module(module) -+ return module -+ - def _module_exists(self, fullname): - return self._fullname_to_filepath(fullname) is not None - -@@ -68,7 +75,7 @@ class GoogleProtobufModuleImporter: - raise ImportError(fullname) - - filepath = self._fullname_to_filepath(fullname) -- return imp.load_source(fullname, filepath) -+ return load_source(fullname, filepath) - - class BinaryProtoGenerator: - -diff -up chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py ---- chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py.me 2023-07-22 15:17:19.114258801 +0200 -+++ chromium-115.0.5790.102/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py 2023-07-22 15:17:43.368200491 +0200 -@@ -32,7 +32,7 @@ def FilterLine(filename, line, output): - return - - if line.startswith("goog.provide"): -- match = re.match("goog.provide\('([^']+)'\);", line) -+ match = re.match(r"goog.provide\('([^']+)'\);", line) - if not match: - print("Invalid goog.provide line in %s:\n%s" % (filename, line)) - sys.exit(1) -diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py ---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me 2023-07-22 15:12:41.850895179 +0200 -+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py 2023-07-22 15:12:55.844871207 +0200 -@@ -18,7 +18,7 @@ class HTMLGenerationController(object): - - def GetHTMLForInlineStylesheet(self, contents): - if self.current_module is None: -- if re.search('url\(.+\)', contents): -+ if re.search(r'url\(.+\)', contents): - raise Exception( - 'Default HTMLGenerationController cannot handle inline style urls') - return contents -diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py ---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me 2023-07-22 15:14:06.923717910 +0200 -+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py 2023-07-22 15:18:03.704150614 +0200 -@@ -4,4 +4,4 @@ - - - def EscapeJSIfNeeded(js): -- return js.replace('', '<\/script>') -+ return js.replace(r'', r'<\/script>') -diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py ---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me 2023-07-22 15:14:30.105662532 +0200 -+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py 2023-07-22 15:14:57.977595950 +0200 -@@ -293,6 +293,6 @@ class HTMLModuleParser(): - html = '' - else: - if html.find('< /script>') != -1: -- raise Exception('Escape script tags with <\/script>') -+ raise Exception(r'Escape script tags with <\/script>') - - return HTMLModuleParserResults(html) -diff -up chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py ---- chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me 2023-07-22 15:13:12.316842990 +0200 -+++ chromium-115.0.5790.102/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py 2023-07-22 15:13:49.684759091 +0200 -@@ -60,7 +60,7 @@ class ParsedStyleSheet(object): - return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8')) - - # I'm assuming we only have url()'s associated with images -- return re.sub('url\((?P"|\'|)(?P[^"\'()]*)(?P=quote)\)', -+ return re.sub(r'url\((?P"|\'|)(?P[^"\'()]*)(?P=quote)\)', - InlineUrl, self.contents) - - def AppendDirectlyDependentFilenamesTo(self, dependent_filenames): -@@ -72,7 +72,7 @@ class ParsedStyleSheet(object): - raise Exception('@imports are not supported') - - matches = re.findall( -- 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', -+ r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', - self.contents) - - def resolve_url(url): -diff -up chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py ---- chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py.me 2023-07-22 15:11:56.826972306 +0200 -+++ chromium-115.0.5790.102/third_party/dawn/generator/generator_lib.py 2023-07-22 15:12:37.550902545 +0200 -@@ -119,8 +119,8 @@ class _PreprocessingLoader(jinja2.BaseLo - source = self.preprocess(f.read()) - return source, path, lambda: mtime == os.path.getmtime(path) - -- blockstart = re.compile('{%-?\s*(if|elif|else|for|block|macro)[^}]*%}') -- blockend = re.compile('{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}') -+ blockstart = re.compile(r'{%-?\s*(if|elif|else|for|block|macro)[^}]*%}') -+ blockend = re.compile(r'{%-?\s*(end(if|for|block|macro)|elif|else)[^}]*%}') - - def preprocess(self, source): - lines = source.split('\n') diff --git a/chromium-118-workaround_clang_bug-structured_binding.patch b/chromium-118-workaround_clang_bug-structured_binding.patch deleted file mode 100644 index 3b79f51..0000000 --- a/chromium-118-workaround_clang_bug-structured_binding.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc ---- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200 -+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200 -@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui - void CdmPromiseAdapter::Clear(ClearReason reason) { - // Reject all outstanding promises. - DCHECK(thread_checker_.CalledOnValidThread()); -- for (auto& [promise_id, promise] : promises_) { -+ for (auto& [p_i, p_e] : promises_) { -+ auto& promise_id = p_i; -+ auto& promise = p_e; - TRACE_EVENT_NESTABLE_ASYNC_END1( - "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id), - "status", "cleared"); -diff -up chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc ---- chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:41.000000000 +0200 -+++ chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-06-17 18:47:06.001403966 +0200 -@@ -655,8 +658,10 @@ NGGridSizingTree NGGridLayoutAlgorithm:: - NGGridSizingTree sizing_tree; - - if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) { -- auto& [grid_items, layout_data, subtree_size] = -- sizing_tree.CreateSizingData(); -+ auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData(); -+ auto& grid_items = g_i; -+ auto& layout_data = l_d; -+ auto& subtree_size = s_s; - - const auto& node = Node(); - grid_items = -@@ -1798,8 +1803,10 @@ void NGGridLayoutAlgorithm::CompleteTrac - bool* opt_needs_additional_pass) const { - DCHECK(sizing_subtree); - -- auto& [grid_items, layout_data, subtree_size] = -- sizing_subtree.SubtreeRootData(); -+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData(); -+ auto& grid_items = g_i; -+ auto& layout_data = l_d; -+ auto& subtree_size = s_s; - - const bool is_for_columns = track_direction == kForColumns; - const bool has_non_definite_track = -@@ -1924,8 +1931,10 @@ template - void NGGridLayoutAlgorithm::ForEachSubgrid( - const NGGridSizingSubtree& sizing_subtree, - const CallbackFunc& callback_func) const { -- auto& [grid_items, layout_data, subtree_size] = -- sizing_subtree.SubtreeRootData(); -+ auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData(); -+ auto& grid_items = g_i; -+ auto& layout_data = l_d; -+ auto& subtree_size = s_s; - - // If we know this subtree doesn't have nested subgrids we can exit early - // instead of iterating over every grid item looking for them. -diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc ---- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200 -+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200 -@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP - return; - } - -- auto [document_url, key, callback] = std::move(*request); -+ auto [d_u, key, callback] = std::move(*request); -+ auto document_url = d_u; - - DCHECK(document_url.is_valid()); - TRACE_EVENT1("ServiceWorker", -diff -up chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc ---- chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me 2023-09-15 13:03:00.787257048 +0200 -+++ chromium-117.0.5938.62/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-09-15 13:15:05.502706522 +0200 -@@ -3437,7 +3437,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte - DCHECK(out_row_break_between); - - const auto& container_space = ConstraintSpace(); -- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData(); -+ const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData(); -+ const auto& grid_items = g_i; -+ const auto& layout_data = l_d; -+ const auto& tree_size = t_s; - - const auto* cached_layout_subtree = container_space.GridLayoutSubtree(); - const auto container_writing_direction = -@@ -3601,7 +3604,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte - - // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true. - const auto& constraint_space = ConstraintSpace(); -- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData(); -+ const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData(); -+ const auto& grid_items = g_i; -+ const auto& layout_data = l_d; -+ const auto& tree_size =t_s; - - const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree(); - const auto container_writing_direction = diff --git a/chromium-119-assert.patch b/chromium-119-assert.patch deleted file mode 100644 index 6c502f1..0000000 --- a/chromium-119-assert.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h ---- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100 -+++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100 -@@ -22,7 +22,7 @@ template ::value); - - public: diff --git a/chromium-119-constexpr.patch b/chromium-119-constexpr.patch deleted file mode 100644 index b195ff4..0000000 --- a/chromium-119-constexpr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h ---- chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h.me 2023-10-31 21:05:05.548565241 +0100 -+++ chromium-119.0.6045.59/components/miracle_parameter/common/public/miracle_parameter.h 2023-10-31 21:20:53.945532094 +0100 -@@ -93,7 +93,7 @@ class MiracleParameter { - template <> - class MiracleParameter : public MiracleParameterBase { - public: -- constexpr MiracleParameter(const base::Feature* feature, -+ MiracleParameter(const base::Feature* feature, - const char* param_name, - std::string default_value) - : MiracleParameterBase(feature, param_name, std::move(default_value)) {} diff --git a/chromium-119-disable-GlobalMediaControlsCastStartStop.patch b/chromium-119-disable-GlobalMediaControlsCastStartStop.patch deleted file mode 100644 index 2082095..0000000 --- a/chromium-119-disable-GlobalMediaControlsCastStartStop.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc ---- chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc.disable-GlobalMediaControlsCastStartStop 2023-11-06 12:57:04.096696491 +0100 -+++ chromium-119.0.6045.105/chrome/browser/media/router/media_router_feature.cc 2023-11-06 13:00:30.480926343 +0100 -@@ -68,15 +68,9 @@ BASE_FEATURE(kCastMirroringPlayoutDelay, - base::FEATURE_DISABLED_BY_DEFAULT); - const base::FeatureParam kCastMirroringPlayoutDelayMs{ - &kCastMirroringPlayoutDelay, "cast_mirroring_playout_delay_ms", -1}; --#if BUILDFLAG(IS_CHROMEOS) - BASE_FEATURE(kGlobalMediaControlsCastStartStop, - "GlobalMediaControlsCastStartStop", - base::FEATURE_DISABLED_BY_DEFAULT); --#else --BASE_FEATURE(kGlobalMediaControlsCastStartStop, -- "GlobalMediaControlsCastStartStop", -- base::FEATURE_ENABLED_BY_DEFAULT); --#endif // BUILDFLAG(IS_CHROMEOS) - #endif // !BUILDFLAG(IS_ANDROID) - - namespace { diff --git a/chromium-119-dont-redefine-ATSPI-version-macros.patch b/chromium-119-dont-redefine-ATSPI-version-macros.patch deleted file mode 100644 index ab64c54..0000000 --- a/chromium-119-dont-redefine-ATSPI-version-macros.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit fc09363b2278893790d131c72a4ed96ec9837624 -Author: Elly -Date: Thu Sep 21 22:09:59 2023 +0000 - - a11y: don't redefine ATSPI version macros - - As of ATSPI 2.49.90, the library itself defines these, and if we - redefine them on the compiler command line, we get a build warning. - See: https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/129 - - Bug: None - Change-Id: I5cc655bd32c90d7af52c9dca60724f334c4a2a65 - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4883576 - Auto-Submit: Elly FJ - Reviewed-by: Thomas Anderson - Commit-Queue: Thomas Anderson - Cr-Commit-Position: refs/heads/main@{#1199870} - -diff --git a/build/config/linux/atspi2/BUILD.gn b/build/config/linux/atspi2/BUILD.gn -index 51b6d33aab3c2..d1629205c82a3 100644 ---- a/build/config/linux/atspi2/BUILD.gn -+++ b/build/config/linux/atspi2/BUILD.gn -@@ -17,13 +17,19 @@ if (use_atk) { - "--version-as-components", - ], - "value") -- atspi_major_version = atspi_version[0] -- atspi_minor_version = atspi_version[1] -- atspi_micro_version = atspi_version[2] -- defines = [ -- "ATSPI_MAJOR_VERSION=$atspi_major_version", -- "ATSPI_MINOR_VERSION=$atspi_minor_version", -- "ATSPI_MICRO_VERSION=$atspi_micro_version", -- ] -+ major = atspi_version[0] -+ minor = atspi_version[1] -+ micro = atspi_version[2] -+ -+ # ATSPI 2.49.90 now defines these for us and it's an error for us to -+ # redefine them on the compiler command line. -+ # See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b -+ if (minor < 49 || (minor == 49 && micro < 90)) { -+ defines = [ -+ "ATSPI_MAJOR_VERSION=$major", -+ "ATSPI_MINOR_VERSION=$minor", -+ "ATSPI_MICRO_VERSION=$micro", -+ ] -+ } - } - } diff --git a/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch b/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch deleted file mode 100644 index 10db551..0000000 --- a/chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch +++ /dev/null @@ -1,189 +0,0 @@ -commit 87fca7f1759e800bd72b5ab6511eea17d6400a76 -Author: Pilar Molina Lopez -Date: Tue Oct 24 19:57:55 2023 +0000 - - video: hide UseChromeOSDirectVideoDecoder flag on VA-API devices - - We are seeing crashes causes by this CHECK statement: - https://source.chromium.org/chromium/chromium/src/+/main:content/public/browser/gpu_utils.cc;l=151;drc=0e777ba9b6c34611705d5b145c92bcd09539011c - It's triggered when the user manually disables the UseChromeOSDirectVideoDecoder - flag on VA-API devices (Intel and AMD). This flag is supported only on - non-Intel and non-AMD devices. This CL adds this information to the flag - description and hides the flag in case VA-API is used. - - Bug: 1469285 - Test: manual test on volteer - Change-Id: I153b9ccb3815498c91ce5eee966834060749e247 - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4960919 - Reviewed-by: Dale Curtis - Reviewed-by: Andres Calderon Jaramillo - Reviewed-by: Avi Drissman - Commit-Queue: Pilar Molina Lopez - Cr-Commit-Position: refs/heads/main@{#1214411} - -diff -up chromium-119.0.6045.105/chrome/browser/about_flags.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/about_flags.cc ---- chromium-119.0.6045.105/chrome/browser/about_flags.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:09.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/about_flags.cc 2023-11-06 17:12:08.057984291 +0100 -@@ -7771,11 +7771,13 @@ const FeatureEntry kFeatureEntries[] = { - #endif // BUILDFLAG(IS_CHROMEOS_ASH) - - #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) -+#if !BUILDFLAG(USE_VAAPI) - {"chromeos-direct-video-decoder", - flag_descriptions::kChromeOSDirectVideoDecoderName, - flag_descriptions::kChromeOSDirectVideoDecoderDescription, - kOsCrOS | kOsLacros, - FEATURE_VALUE_TYPE(media::kUseChromeOSDirectVideoDecoder)}, -+#endif // !BUILDFLAG(USE_VAAPI) - - {"enable-vbr-encode-acceleration", - flag_descriptions::kChromeOSHWVBREncodingName, -diff -up chromium-119.0.6045.105/chrome/browser/DEPS.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/DEPS ---- chromium-119.0.6045.105/chrome/browser/DEPS.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:09.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/DEPS 2023-11-06 17:12:08.055984248 +0100 -@@ -415,6 +415,7 @@ include_rules = [ - "+media/base", # For media switches - "+media/capabilities", # For InMemoryVideoDecodeStatsDB - "+media/cdm", -+ "+media/gpu/buildflags.h", - "+media/remoting/device_capability_checker.h", - "+media/capture", - "+media/midi", # For midi switches -diff -up chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc ---- chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:12.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/flag_descriptions.cc 2023-11-06 17:12:08.059984335 +0100 -@@ -7,6 +7,7 @@ - #include "build/build_config.h" - #include "build/chromeos_buildflags.h" - #include "components/supervised_user/core/common/buildflags.h" -+#include "media/gpu/buildflags.h" - #include "pdf/buildflags.h" - - // Keep in identical order as the header file, see the comment at the top -@@ -7424,6 +7425,7 @@ const char kVaapiVP9kSVCEncoderDescripti - #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) - - #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) -+#if !BUILDFLAG(USE_VAAPI) - const char kChromeOSDirectVideoDecoderName[] = "ChromeOS Direct Video Decoder"; - const char kChromeOSDirectVideoDecoderDescription[] = - "Enables the hardware-accelerated ChromeOS direct media::VideoDecoder " -@@ -7431,7 +7433,8 @@ const char kChromeOSDirectVideoDecoderDe - "--platform-disallows-chromeos-direct-video-decoder command line switch " - "which is added for platforms where said direct VideoDecoder does not work " - "or is not well tested (see the disable_cros_video_decoder USE flag in " -- "ChromeOS)"; -+ "ChromeOS). This flag is supported only on non-Intel and non-AMD devices."; -+#endif // !BUILDFLAG(USE_VAAPI) - const char kChromeOSHWVBREncodingName[] = - "ChromeOS Hardware Variable Bitrate Encoding"; - const char kChromeOSHWVBREncodingDescription[] = -diff -up chromium-119.0.6045.105/content/public/browser/gpu_utils.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/content/public/browser/gpu_utils.cc ---- chromium-119.0.6045.105/content/public/browser/gpu_utils.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:26.000000000 +0100 -+++ chromium-119.0.6045.105/content/public/browser/gpu_utils.cc 2023-11-06 17:12:08.059984335 +0100 -@@ -133,20 +133,26 @@ const gpu::GpuPreferences GetGpuPreferen - #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) - // The direct VideoDecoder is disallowed on some particular SoC/platforms. - const bool should_use_direct_video_decoder = -+#if BUILDFLAG(USE_VAAPI) -+ true; -+#else - !command_line->HasSwitch( - switches::kPlatformDisallowsChromeOSDirectVideoDecoder) && - base::FeatureList::IsEnabled(media::kUseChromeOSDirectVideoDecoder); -+#endif // BUILDFLAG(USE_VAAPI) -+ -+ gpu_preferences.enable_chromeos_direct_video_decoder = -+#if BUILDFLAG(USE_VAAPI) -+ should_use_direct_video_decoder; -+#else -+ // For testing purposes, the following flag allows using the "other" video -+ // decoder implementation. -+ base::FeatureList::IsEnabled( -+ media::kUseAlternateVideoDecoderImplementation) -+ ? !should_use_direct_video_decoder -+ : should_use_direct_video_decoder; -+#endif // BUILDFLAG(USE_VAAPI) - -- // For testing purposes, the following flag allows using the "other" video -- // decoder implementation. -- if (base::FeatureList::IsEnabled( -- media::kUseAlternateVideoDecoderImplementation)) { -- gpu_preferences.enable_chromeos_direct_video_decoder = -- !should_use_direct_video_decoder; -- } else { -- gpu_preferences.enable_chromeos_direct_video_decoder = -- should_use_direct_video_decoder; -- } - #if BUILDFLAG(USE_VAAPI) - CHECK(gpu_preferences.enable_chromeos_direct_video_decoder); - #endif // BUILDFLAG(USE_VAAPI) -diff -up chromium-119.0.6045.105/media/base/media_switches.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/media/base/media_switches.cc ---- chromium-119.0.6045.105/media/base/media_switches.cc.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:31.000000000 +0100 -+++ chromium-119.0.6045.105/media/base/media_switches.cc 2023-11-06 17:12:08.060984356 +0100 -@@ -1202,6 +1202,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding, - "ChromeOSHWVBREncoding", - base::FEATURE_DISABLED_BY_DEFAULT); - -+#if !BUILDFLAG(USE_VAAPI) - // Enable the hardware-accelerated direct video decoder instead of the one - // needing the VdaVideoDecoder adapter. This flag is used mainly as a - // chrome:flag for developers debugging issues as well as to be able to -@@ -1210,6 +1211,7 @@ BASE_FEATURE(kChromeOSHWVBREncoding, - BASE_FEATURE(kUseChromeOSDirectVideoDecoder, - "UseChromeOSDirectVideoDecoder", - base::FEATURE_ENABLED_BY_DEFAULT); -+#endif // !BUILDFLAG(USE_VAAPI) - - // Limit the number of concurrent hardware decoder instances on ChromeOS. - BASE_FEATURE(kLimitConcurrentDecoderInstances, -@@ -1238,7 +1240,7 @@ BASE_FEATURE(kPreferSoftwareMT21, - "PreferSoftwareMT21", - base::FEATURE_DISABLED_BY_DEFAULT); - #endif // defined(ARCH_CPU_ARM_FAMILY) --#if BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI) - // ChromeOS has one of two VideoDecoder implementations active based on - // SoC/board specific configurations that are sent via command line flags. This - // switch allows using the non default implementation for testing. -@@ -1246,7 +1248,7 @@ BASE_FEATURE(kPreferSoftwareMT21, - BASE_FEATURE(kUseAlternateVideoDecoderImplementation, - "UseAlternateVideoDecoderImplementation", - base::FEATURE_DISABLED_BY_DEFAULT); --#endif // BUILDFLAG(IS_CHROMEOS) -+#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI) - #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) - - #if BUILDFLAG(IS_WIN) -diff -up chromium-119.0.6045.105/media/base/media_switches.h.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices chromium-119.0.6045.105/media/base/media_switches.h ---- chromium-119.0.6045.105/media/base/media_switches.h.hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices 2023-11-01 19:10:31.000000000 +0100 -+++ chromium-119.0.6045.105/media/base/media_switches.h 2023-11-06 17:12:08.060984356 +0100 -@@ -14,6 +14,7 @@ - #include "build/build_config.h" - #include "build/chromeos_buildflags.h" - #include "media/base/media_export.h" -+#include "media/gpu/buildflags.h" - #include "media/media_buildflags.h" - - namespace base { -@@ -382,16 +383,18 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBuilt - #if BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWAV1Decoder); - MEDIA_EXPORT BASE_DECLARE_FEATURE(kChromeOSHWVBREncoding); -+#if !BUILDFLAG(USE_VAAPI) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseChromeOSDirectVideoDecoder); -+#endif // !BUILDFLAG(USE_VAAPI) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kLimitConcurrentDecoderInstances); - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUSeSequencedTaskRunnerForVEA); - #if defined(ARCH_CPU_ARM_FAMILY) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferGLImageProcessor); - MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreferSoftwareMT21); - #endif // defined(ARCH_CPU_ARM_FAMILY) --#if BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAlternateVideoDecoderImplementation); --#endif // BUILDFLAG(IS_CHROMEOS) -+#endif // BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(USE_VAAPI) - #endif // BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) - - #if BUILDFLAG(IS_WIN) diff --git a/chromium-119-missing-header-files.patch b/chromium-119-missing-header-files.patch deleted file mode 100644 index c19a1f5..0000000 --- a/chromium-119-missing-header-files.patch +++ /dev/null @@ -1,470 +0,0 @@ -diff -up chromium-119.0.6045.105/base/check_op.h.missing-header-files chromium-119.0.6045.105/base/check_op.h ---- chromium-119.0.6045.105/base/check_op.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100 -+++ chromium-119.0.6045.105/base/check_op.h 2023-11-06 14:34:01.808868982 +0100 -@@ -5,6 +5,7 @@ - #ifndef BASE_CHECK_OP_H_ - #define BASE_CHECK_OP_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/base/containers/flat_map.h.missing-header-files chromium-119.0.6045.105/base/containers/flat_map.h ---- chromium-119.0.6045.105/base/containers/flat_map.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100 -+++ chromium-119.0.6045.105/base/containers/flat_map.h 2023-11-06 14:34:01.813869089 +0100 -@@ -5,6 +5,7 @@ - #ifndef BASE_CONTAINERS_FLAT_MAP_H_ - #define BASE_CONTAINERS_FLAT_MAP_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/base/debug/profiler.h.missing-header-files chromium-119.0.6045.105/base/debug/profiler.h ---- chromium-119.0.6045.105/base/debug/profiler.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100 -+++ chromium-119.0.6045.105/base/debug/profiler.h 2023-11-06 14:34:01.809869004 +0100 -@@ -8,6 +8,7 @@ - #include - #include - -+#include - #include - - #include "base/base_export.h" -diff -up chromium-119.0.6045.105/base/memory/ref_counted.h.missing-header-files chromium-119.0.6045.105/base/memory/ref_counted.h ---- chromium-119.0.6045.105/base/memory/ref_counted.h.missing-header-files 2023-11-01 19:10:05.000000000 +0100 -+++ chromium-119.0.6045.105/base/memory/ref_counted.h 2023-11-06 14:34:01.808868982 +0100 -@@ -6,6 +6,7 @@ - #define BASE_MEMORY_REF_COUNTED_H_ - - #include -+#include - - #include - #include -diff -up chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h.missing-header-files chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h ---- chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h.missing-header-files 2023-11-01 19:10:13.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/privacy_budget/encountered_surface_tracker.h 2023-11-06 14:34:01.814869110 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - #include "base/containers/flat_set.h" -diff -up chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h ---- chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h.missing-header-files 2023-11-01 19:10:16.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/webauthn/authenticator_request_dialog_model.h 2023-11-06 14:34:01.817869174 +0100 -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - - #include "base/containers/span.h" - #include "base/functional/callback_forward.h" -diff -up chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc ---- chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc.missing-header-files 2023-11-01 19:10:16.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/test/chromedriver/chrome/web_view_impl.cc 2023-11-06 14:34:01.818869196 +0100 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - #include "base/check.h" - #include "base/files/file_path.h" -diff -up chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h.missing-header-files chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h ---- chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h.missing-header-files 2023-11-01 19:10:19.000000000 +0100 -+++ chromium-119.0.6045.105/components/autofill/core/browser/autofill_ablation_study.h 2023-11-06 14:34:01.815869132 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - class GURL; -diff -up chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h.missing-header-files chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h ---- chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h.missing-header-files 2023-11-01 19:10:20.000000000 +0100 -+++ chromium-119.0.6045.105/components/crash/core/app/crash_reporter_client.h 2023-11-06 14:34:01.813869089 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - #include "build/build_config.h" -diff -up chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h.missing-header-files chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h ---- chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100 -+++ chromium-119.0.6045.105/components/feature_engagement/internal/event_storage_validator.h 2023-11-06 14:34:01.814869110 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - namespace feature_engagement { -diff -up chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h ---- chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100 -+++ chromium-119.0.6045.105/components/feature_engagement/internal/never_event_storage_validator.h 2023-11-06 14:34:01.814869110 +0100 -@@ -5,6 +5,7 @@ - #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_ - #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_EVENT_STORAGE_VALIDATOR_H_ - -+#include - #include - - #include "components/feature_engagement/internal/event_storage_validator.h" -diff -up chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h.missing-header-files chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h ---- chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100 -+++ chromium-119.0.6045.105/components/omnibox/browser/on_device_head_model.h 2023-11-06 14:34:01.815869132 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h.missing-header-files chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h ---- chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100 -+++ chromium-119.0.6045.105/components/password_manager/core/browser/generation/password_generator.h 2023-11-06 14:34:01.814869110 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - -diff -up chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h.missing-header-files chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h ---- chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h.missing-header-files 2023-11-01 19:10:21.000000000 +0100 -+++ chromium-119.0.6045.105/components/payments/content/utility/fingerprint_parser.h 2023-11-06 14:34:01.815869132 +0100 -@@ -5,6 +5,7 @@ - #ifndef COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_ - #define COMPONENTS_PAYMENTS_CONTENT_UTILITY_FINGERPRINT_PARSER_H_ - -+#include - #include - #include - -diff -up chromium-119.0.6045.105/gin/time_clamper.h.missing-header-files chromium-119.0.6045.105/gin/time_clamper.h ---- chromium-119.0.6045.105/gin/time_clamper.h.missing-header-files 2023-11-01 19:10:28.000000000 +0100 -+++ chromium-119.0.6045.105/gin/time_clamper.h 2023-11-06 14:34:01.818869196 +0100 -@@ -48,7 +48,7 @@ class GIN_EXPORT TimeClamper { - const int64_t micros = now_micros % 1000; - // abs() is necessary for devices with times before unix-epoch (most likely - // configured incorrectly). -- if (abs(micros) + kResolutionMicros < 1000) { -+ if (std::abs(micros) + kResolutionMicros < 1000) { - return now_micros / 1000; - } - return ClampTimeResolution(now_micros) / 1000; -diff -up chromium-119.0.6045.105/gpu/config/gpu_feature_info.h.missing-header-files chromium-119.0.6045.105/gpu/config/gpu_feature_info.h ---- chromium-119.0.6045.105/gpu/config/gpu_feature_info.h.missing-header-files 2023-11-01 19:10:28.000000000 +0100 -+++ chromium-119.0.6045.105/gpu/config/gpu_feature_info.h 2023-11-06 14:34:01.809869004 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - #include - -diff -up chromium-119.0.6045.105/net/base/net_export.h.missing-header-files chromium-119.0.6045.105/net/base/net_export.h ---- chromium-119.0.6045.105/net/base/net_export.h.missing-header-files 2023-11-01 19:10:32.000000000 +0100 -+++ chromium-119.0.6045.105/net/base/net_export.h 2023-11-06 14:34:01.809869004 +0100 -@@ -5,6 +5,8 @@ - #ifndef NET_BASE_NET_EXPORT_H_ - #define NET_BASE_NET_EXPORT_H_ - -+#include -+ - // Defines NET_EXPORT so that functionality implemented by the net module can - // be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to - // access features not intended to be used directly by real consumers. -diff -up chromium-119.0.6045.105/pdf/document_attachment_info.h.missing-header-files chromium-119.0.6045.105/pdf/document_attachment_info.h ---- chromium-119.0.6045.105/pdf/document_attachment_info.h.missing-header-files 2023-11-01 19:10:34.000000000 +0100 -+++ chromium-119.0.6045.105/pdf/document_attachment_info.h 2023-11-06 14:34:01.815869132 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - - -diff -up chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h.missing-header-files chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h ---- chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h.missing-header-files 2023-11-01 19:10:34.000000000 +0100 -+++ chromium-119.0.6045.105/sandbox/linux/syscall_broker/broker_file_permission.h 2023-11-06 14:34:01.809869004 +0100 -@@ -5,6 +5,7 @@ - #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_ - #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h.missing-header-files chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h ---- chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h.missing-header-files 2023-11-01 19:10:35.000000000 +0100 -+++ chromium-119.0.6045.105/services/device/public/cpp/generic_sensor/sensor_reading.h 2023-11-06 14:34:01.820869238 +0100 -@@ -8,6 +8,9 @@ - #include - #include - -+#include -+#include -+ - #include - - namespace device { -diff -up chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc.missing-header-files chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc ---- chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc.missing-header-files 2023-11-01 19:10:35.000000000 +0100 -+++ chromium-119.0.6045.105/skia/ext/skcolorspace_trfn.cc 2023-11-06 14:34:01.818869196 +0100 -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "skia/ext/skcolorspace_trfn.h" -+#include - - #include - -diff -up chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h ---- chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h.missing-header-files 2023-11-01 19:10:36.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/abseil-cpp/absl/strings/string_view.h 2023-11-06 14:34:01.809869004 +0100 -@@ -27,6 +27,7 @@ - #ifndef ABSL_STRINGS_STRING_VIEW_H_ - #define ABSL_STRINGS_STRING_VIEW_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h.missing-header-files chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h ---- chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h.missing-header-files 2023-11-01 19:11:59.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/angle/include/GLSLANG/ShaderVars.h 2023-11-06 14:34:01.810869025 +0100 -@@ -10,6 +10,7 @@ - #ifndef GLSLANG_SHADERVARS_H_ - #define GLSLANG_SHADERVARS_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.missing-header-files chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h ---- chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h.missing-header-files 2023-11-01 19:10:37.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h 2023-11-06 14:34:01.810869025 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h ---- chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h.missing-header-files 2023-11-01 19:13:50.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/dawn/src/tint/lang/spirv/reader/ast_parser/namer.h 2023-11-06 14:34:01.810869025 +0100 -@@ -15,6 +15,7 @@ - #ifndef SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_ - #define SRC_TINT_LANG_SPIRV_READER_AST_PARSER_NAMER_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h.missing-header-files chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h ---- chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h.missing-header-files 2023-11-01 19:11:20.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/ipcz/src/ipcz/router_link.h 2023-11-06 14:34:01.819869217 +0100 -@@ -5,6 +5,7 @@ - #ifndef IPCZ_SRC_IPCZ_ROUTER_LINK_H_ - #define IPCZ_SRC_IPCZ_ROUTER_LINK_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc ---- chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc.missing-header-files 2023-11-01 19:11:53.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/material_color_utilities/src/cpp/palettes/tones.cc 2023-11-06 14:34:01.819869217 +0100 -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include - #include "cpp/palettes/tones.h" - - #include "cpp/cam/cam.h" -diff -up chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.missing-header-files chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h ---- chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h.missing-header-files 2023-11-01 19:11:59.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/openscreen/src/discovery/dnssd/public/dns_sd_txt_record.h 2023-11-06 14:34:01.810869025 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h.missing-header-files chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h ---- chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h.missing-header-files 2023-11-01 19:14:48.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/pdfium/constants/annotation_flags.h 2023-11-06 14:34:01.815869132 +0100 -@@ -7,6 +7,8 @@ - - #include - -+#include -+ - namespace pdfium { - namespace annotation_flags { - -diff -up chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h ---- chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h.missing-header-files 2023-11-01 19:12:02.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/ruy/src/ruy/profiler/instrumentation.h 2023-11-06 14:34:01.813869089 +0100 -@@ -17,6 +17,7 @@ limitations under the License. - #define RUY_RUY_PROFILER_INSTRUMENTATION_H_ - - #ifdef RUY_PROFILER -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp.missing-header-files chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp ---- chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp.missing-header-files 2023-11-01 19:12:15.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/swiftshader/src/System/LRUCache.hpp 2023-11-06 14:34:01.810869025 +0100 -@@ -17,6 +17,7 @@ - - #include "System/Debug.hpp" - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc ---- chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc.missing-header-files 2023-11-01 19:12:42.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/swiftshader/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc 2023-11-06 14:34:01.814869110 +0100 -@@ -45,6 +45,7 @@ - #include "llvm/Support/SaveAndRestore.h" - #include "llvm/Support/raw_ostream.h" - #include -+#include - #include - #include - #ifdef HAVE_BACKTRACE -diff -up chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h ---- chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h.missing-header-files 2023-11-01 19:13:20.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/tflite/src/tensorflow/lite/kernels/internal/spectrogram.h 2023-11-06 14:34:01.813869089 +0100 -@@ -31,6 +31,7 @@ limitations under the License. - #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_ - #define TENSORFLOW_LITE_KERNELS_INTERNAL_SPECTROGRAM_H_ - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h ---- chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.missing-header-files 2023-11-01 19:12:45.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h 2023-11-06 14:34:01.817869174 +0100 -@@ -2884,6 +2884,7 @@ static void vma_aligned_free(void* VMA_N - - // Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString. - #if VMA_STATS_STRING_ENABLED -+#include - static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num) - { - snprintf(outStr, strLen, "%u", static_cast(num)); -diff -up chromium-119.0.6045.105/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.missing-header-files chromium-119.0.6045.105/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h ---- chromium-119.0.6045.105/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.missing-header-files 2023-11-01 19:12:13.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h 2023-11-06 14:34:01.812869068 +0100 -@@ -2388,6 +2388,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeV - #ifdef VMA_IMPLEMENTATION - #undef VMA_IMPLEMENTATION - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc ---- chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc.missing-header-files 2023-11-01 19:14:05.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/webrtc/audio/utility/channel_mixer.cc 2023-11-06 14:34:01.819869217 +0100 -@@ -8,6 +8,8 @@ - * be found in the AUTHORS file in the root of the source tree. - */ - -+#include -+ - #include "audio/utility/channel_mixer.h" - - #include "audio/utility/channel_mixing_matrix.h" -diff -up chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h.missing-header-files chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h ---- chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h.missing-header-files 2023-11-01 19:14:06.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/webrtc/common_video/h264/sps_parser.h 2023-11-06 14:34:01.819869217 +0100 -@@ -11,6 +11,7 @@ - #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_ - #define COMMON_VIDEO_H264_SPS_PARSER_H_ - -+#include - #include "absl/types/optional.h" - #include "rtc_base/bitstream_reader.h" - -diff -up chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h ---- chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h.missing-header-files 2023-11-01 19:14:11.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/webrtc/modules/include/module_common_types_public.h 2023-11-06 14:34:01.819869217 +0100 -@@ -11,6 +11,7 @@ - #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - -+#include - #include - - #include "absl/types/optional.h" -diff -up chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-header-files chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc ---- chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-header-files 2023-11-01 19:14:12.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2023-11-06 14:34:01.819869217 +0100 -@@ -10,6 +10,7 @@ - - #include "modules/video_coding/utility/ivf_file_reader.h" - -+#include - #include - #include - -diff -up chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h.missing-header-files chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h ---- chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100 -+++ chromium-119.0.6045.105/ui/base/prediction/kalman_filter.h 2023-11-06 14:34:01.814869110 +0100 -@@ -7,6 +7,8 @@ - - #include - -+#include -+ - #include "base/component_export.h" - #include "ui/gfx/geometry/matrix3_f.h" - -diff -up chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h.missing-header-files chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h ---- chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100 -+++ chromium-119.0.6045.105/ui/gfx/geometry/linear_gradient.h 2023-11-06 14:34:01.812869068 +0100 -@@ -7,6 +7,7 @@ - - #include - -+#include - #include - #include - #include -diff -up chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h.missing-header-files chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h ---- chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h.missing-header-files 2023-11-01 19:11:28.000000000 +0100 -+++ chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h 2023-11-06 14:34:01.819869217 +0100 -@@ -9,6 +9,8 @@ - - #include "ui/gfx/buffer_types.h" - -+#include -+ - namespace ui { - - int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format); diff --git a/chromium-119-no_matching_constructor.patch b/chromium-119-no_matching_constructor.patch deleted file mode 100644 index a16c979..0000000 --- a/chromium-119-no_matching_constructor.patch +++ /dev/null @@ -1,703 +0,0 @@ -diff -up chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor chromium-119.0.6045.59/base/trace_event/trace_log.cc ---- chromium-119.0.6045.59/base/trace_event/trace_log.cc.no_matching_constructor 2023-10-26 18:16:51.000000000 +0200 -+++ chromium-119.0.6045.59/base/trace_event/trace_log.cc 2023-10-30 16:51:02.270151487 +0100 -@@ -2191,8 +2191,8 @@ void TraceLog::SetTraceBufferForTesting( - #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) - void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) { - AutoLock lock(track_event_lock_); -- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config, -- args.backend_type); -+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config, -+ args.backend_type}; - } - - void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) { -diff -up chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc ---- chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200 -+++ chromium-119.0.6045.59/chrome/browser/content_settings/one_time_permission_provider.cc 2023-10-30 16:51:02.269151462 +0100 -@@ -226,8 +226,8 @@ void OneTimePermissionProvider::OnSuspen - - while (rule_iterator && rule_iterator->HasNext()) { - auto rule = rule_iterator->Next(); -- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern, -- rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern, -+ rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - setting_type, - permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND); -@@ -329,8 +329,8 @@ void OneTimePermissionProvider::DeleteEn - auto rule = rule_iterator->Next(); - if (rule->primary_pattern.Matches(origin_gurl) && - rule->secondary_pattern.Matches(origin_gurl)) { -- patterns_to_delete.emplace_back( -- content_setting_type, rule->primary_pattern, rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = { -+ content_setting_type, rule->primary_pattern, rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - content_setting_type, trigger_event); - } -diff -up chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc ---- chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2023-10-26 18:16:57.000000000 +0200 -+++ chromium-119.0.6045.59/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2023-10-30 16:51:02.267151412 +0100 -@@ -67,8 +67,8 @@ base::flat_mapinsert(std::make_pair( - "supported.test", -- SAMLProfileAttributes("placeholderName", "placeholderDomain", -- "placeholderToken"))); -+ SAMLProfileAttributes{"placeholderName", "placeholderDomain", -+ "placeholderToken"})); - - // Extract domains and attributes from the command line switch. - const base::CommandLine& command_line = -diff -up chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc ---- chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2023-10-26 18:17:00.000000000 +0200 -+++ chromium-119.0.6045.59/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2023-10-30 16:51:02.262151288 +0100 -@@ -474,10 +474,10 @@ void ChromeOmniboxClient::OnAutocomplete - alternative_nav_match); - - // Store the details necessary to open the omnibox match via browser commands. -- location_bar_->set_navigation_params(LocationBar::NavigationParams( -+ location_bar_->set_navigation_params(LocationBar::NavigationParams{ - destination_url, disposition, transition, match_selection_timestamp, - destination_url_entered_without_scheme, -- destination_url_entered_with_http_scheme)); -+ destination_url_entered_with_http_scheme}); - - if (browser_) { - auto navigation = chrome::OpenCurrentURL(browser_); -diff -up chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc ---- chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-10-26 18:17:01.000000000 +0200 -+++ chromium-119.0.6045.59/chrome/test/chromedriver/capabilities.cc 2023-10-30 16:51:02.268151437 +0100 -@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base:: - "'version' field of type string"); - } - -- brands.emplace_back(*brand, *version); -+ brands.emplace_back() = {*brand, *version}; - } - - client_hints.brands = std::move(brands); -@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base:: - "a 'version' field of type string"); - } - -- full_version_list.emplace_back(*brand, *version); -+ full_version_list.emplace_back() = {*brand, *version}; - } - - client_hints.full_version_list = std::move(full_version_list); -diff -up chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc ---- chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc.no_matching_constructor 2023-10-30 16:51:02.273151562 +0100 -+++ chromium-119.0.6045.59/components/autofill/core/browser/contact_info_sync_util.cc 2023-10-30 17:41:12.685887538 +0100 -@@ -195,9 +195,9 @@ class ContactInfoProfileSetter { - CHECK(observations.empty()); - for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation : - metadata.observations()) { -- observations.emplace_back(proto_observation.type(), -+ observations.emplace_back() = {static_cast(proto_observation.type()), - ProfileTokenQuality::FormSignatureHash( -- proto_observation.form_hash())); -+ proto_observation.form_hash())}; - } - } - } -diff -up chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc ---- chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200 -+++ chromium-119.0.6045.59/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-10-30 16:51:02.260151238 +0100 -@@ -1530,7 +1530,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut - - // Issue readbacks from the surfaces: - for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) { -- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height()); -+ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()}; - SkImageInfo dst_info = SkImageInfo::Make( - size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType, - kUnpremul_SkAlphaType); -diff -up chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/download/save_package.cc ---- chromium-119.0.6045.59/content/browser/download/save_package.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200 -+++ chromium-119.0.6045.59/content/browser/download/save_package.cc 2023-10-30 16:51:02.271151512 +0100 -@@ -769,8 +769,8 @@ void SavePackage::Finish() { - if (download_) { - std::vector files; - for (auto& item : saved_success_items_) { -- files.emplace_back(item.second->full_path(), item.second->url(), -- item.second->referrer().url); -+ files.emplace_back() = {item.second->full_path(), item.second->url(), -+ item.second->referrer().url}; - } - download::DownloadSaveItemData::AttachItemData(download_, std::move(files)); - } -diff -up chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc ---- chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2023-10-26 18:17:12.000000000 +0200 -+++ chromium-119.0.6045.59/content/browser/renderer_host/render_frame_host_impl.cc 2023-10-30 17:38:09.351389984 +0100 -@@ -8567,7 +8567,7 @@ void RenderFrameHostImpl::SendFencedFram - for (const blink::FencedFrame::ReportingDestination& destination : - destinations) { - SendFencedFrameReportingBeaconInternal( -- DestinationEnumEvent(event_type, event_data), destination, -+ DestinationEnumEvent{event_type, event_data}, destination, - /*from_renderer=*/true, attribution_reporting_runtime_features, - GetFrameTreeNodeId()); - } -@@ -8603,7 +8603,7 @@ void RenderFrameHostImpl::SendFencedFram - } - - SendFencedFrameReportingBeaconInternal( -- DestinationURLEvent(destination_url), -+ DestinationURLEvent{destination_url}, - blink::FencedFrame::ReportingDestination::kBuyer, - /*from_renderer=*/true, attribution_reporting_runtime_features, - GetFrameTreeNodeId()); -@@ -8703,8 +8703,8 @@ void RenderFrameHostImpl::MaybeSendFence - data = info->data; - } - initiator_rfh->SendFencedFrameReportingBeaconInternal( -- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType, -- data), -+ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType, -+ data}, - destination, - /*from_renderer=*/false, attribution_reporting_features, - GetFrameTreeNodeId(), navigation_request.GetNavigationId()); -@@ -8717,8 +8717,8 @@ void RenderFrameHostImpl::MaybeSendFence - for (blink::FencedFrame::ReportingDestination destination : - info->destinations) { - initiator_rfh->SendFencedFrameReportingBeaconInternal( -- DestinationEnumEvent(blink::kFencedFrameTopNavigationBeaconType, -- info->data), -+ DestinationEnumEvent{blink::kFencedFrameTopNavigationBeaconType, -+ info->data}, - destination, - /*from_renderer=*/false, info->attribution_reporting_runtime_features, - GetFrameTreeNodeId(), navigation_request.GetNavigationId()); -diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h ---- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200 -+++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/font_palette.h 2023-10-30 16:51:02.262151288 +0100 -@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ - Color::ColorSpace color_interpolation_space, - absl::optional hue_interpolation_method) { - return base::AdoptRef(new FontPalette( -- start, end, NonNormalizedPercentages(start_percentage, end_percentage), -+ start, end, NonNormalizedPercentages{start_percentage, end_percentage}, - normalized_percentage, alpha_multiplier, color_interpolation_space, - hue_interpolation_method)); - } -@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ - double normalized_percentage) { - double end_percentage = normalized_percentage * 100.0; - double start_percentage = 100.0 - end_percentage; -- return NonNormalizedPercentages(start_percentage, end_percentage); -+ return NonNormalizedPercentages{start_percentage, end_percentage}; - } - - double GetAlphaMultiplier() const { -diff -up chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc ---- chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2023-10-26 18:17:24.000000000 +0200 -+++ chromium-119.0.6045.59/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2023-10-30 16:51:02.261151263 +0100 -@@ -31,7 +31,7 @@ Vector - color_interpolation_space, hue_interpolation_method, start_color, - end_color, percentage, alpha_multiplier); - -- FontPalette::FontPaletteOverride result_color_record(i, result_color); -+ FontPalette::FontPaletteOverride result_color_record{static_cast(i), result_color}; - result_color_records.push_back(result_color_record); - } - return result_color_records; -diff -up chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-119.0.6045.59/ui/gtk/gtk_ui.cc ---- chromium-119.0.6045.59/ui/gtk/gtk_ui.cc.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200 -+++ chromium-119.0.6045.59/ui/gtk/gtk_ui.cc 2023-10-30 16:51:02.272151537 +0100 -@@ -993,11 +993,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi - GdkRectangle geometry; - gdk_monitor_get_geometry(monitor, &geometry); - int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor)); -- config.display_geometries.emplace_back( -+ config.display_geometries.emplace_back() = { - gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y, - monitor_scale * geometry.width, - monitor_scale * geometry.height), -- monitor_scale * font_scale); -+ static_cast(monitor_scale * font_scale)}; - } - return config; - } -diff -up chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc ---- chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc.me 2023-10-31 18:14:49.275728099 +0100 -+++ chromium-119.0.6045.59/base/metrics/persistent_histogram_allocator.cc 2023-10-31 18:19:54.599223239 +0100 -@@ -221,13 +221,13 @@ PersistentSparseHistogramDataManager::Lo - // The sample-record could be for any sparse histogram. Add the reference - // to the appropriate collection for later use. - if (found_id == match_id) { -- found_records.emplace_back(ref, value); -+ found_records.emplace_back() = {ref, value}; - found = true; - } else { - std::vector* samples = - GetSampleMapRecordsWhileLocked(found_id); - CHECK(samples); -- samples->emplace_back(ref, value); -+ samples->emplace_back() = {ref, value}; - } - } - -diff -up chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me chromium-119.0.6045.59/net/dns/host_resolver_cache.cc ---- chromium-119.0.6045.59/net/dns/host_resolver_cache.cc.me 2023-10-31 20:48:19.153868338 +0100 -+++ chromium-119.0.6045.59/net/dns/host_resolver_cache.cc 2023-10-31 20:51:37.634526549 +0100 -@@ -368,7 +368,7 @@ void HostResolverCache::Set( - - std::string domain_name = result->domain_name(); - entries_.emplace( -- Key(std::move(domain_name), network_anonymization_key), -+ Key{std::move(domain_name), network_anonymization_key}, - Entry(std::move(result), source, secure, staleness_generation)); - - if (entries_.size() > max_entries_) { -diff -up chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc ---- chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc.me 2023-10-31 22:32:58.995997897 +0100 -+++ chromium-119.0.6045.59/components/autofill/core/browser/webdata/autofill_table.cc 2023-10-31 22:33:28.290520601 +0100 -@@ -1733,10 +1733,10 @@ std::unique_ptr Autofil - } - - base::span observations_data = s.ColumnBlob(3); -- field_type_values.emplace_back( -+ field_type_values.emplace_back() = { - type, s.ColumnString16(1), s.ColumnInt(2), - std::vector(observations_data.begin(), -- observations_data.end())); -+ observations_data.end())}; - - if (type == ADDRESS_HOME_COUNTRY) { - country_code = base::UTF16ToUTF8(s.ColumnString16(1)); -diff -up chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc ---- chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc.than 2023-10-31 22:41:22.850233005 +0100 -+++ chromium-119.0.6045.59/components/password_manager/core/browser/password_manager.cc 2023-10-31 22:42:37.276931933 +0100 -@@ -625,7 +625,7 @@ void PasswordManager::OnUserModifiedNonP - // |driver| might be empty on iOS or in tests. - int driver_id = driver ? driver->GetId() : 0; - possible_usernames_.Put( -- PossibleUsernameFieldIdentifier(driver_id, renderer_id), -+ PossibleUsernameFieldIdentifier{driver_id, renderer_id}, - PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()), - renderer_id, value, base::Time::Now(), driver_id, - autocomplete_attribute_has_username, is_likely_otp)); -diff -up chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc ---- chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc.than 2023-10-31 23:31:08.438267908 +0100 -+++ chromium-119.0.6045.59/content/browser/interest_group/interest_group_storage.cc 2023-10-31 23:32:08.979358711 +0100 -@@ -2854,10 +2854,10 @@ DoGetKAnonymityData(sql::Database& db, - - std::vector k_anon_data; - while (interest_group_kanon_query.Step()) { -- k_anon_data.emplace_back( -+ k_anon_data.emplace_back() = { - /*key=*/interest_group_kanon_query.ColumnString(0), - /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1), -- /*last_updated=*/interest_group_kanon_query.ColumnTime(2)); -+ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)}; - } - if (!interest_group_kanon_query.Succeeded()) { - return absl::nullopt; -diff -up chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc ---- chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc.than 2023-11-01 11:19:42.745395797 +0100 -+++ chromium-119.0.6045.59/content/browser/webid/federated_auth_request_impl.cc 2023-11-01 11:22:16.670920679 +0100 -@@ -1881,7 +1881,7 @@ void FederatedAuthRequestImpl::ShowError - base::BindOnce(&FederatedAuthRequestImpl::CompleteRequestWithError, - weak_ptr_factory_.GetWeakPtr())); - absl::optional token_error = -- error ? absl::make_optional(error->code, error->url) -+ error ? absl::make_optional({error->code, error->url}) - : absl::nullopt; - - // TODO(crbug.com/1485710): Refactor IdentityCredentialTokenError ---- chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h.no_matching_constructor 2023-10-26 18:18:14.000000000 +0200 -+++ chromium-119.0.6045.59/ui/base/wayland/color_manager_util.h 2023-11-01 17:29:54.269820415 +0100 -@@ -52,53 +52,53 @@ - zcr_color_manager_v1_chromaticity_names, - PrimaryVersion>( - {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::BT470M, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTE240M, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::XYZ_D50, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTEST428_1, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTEST431_2, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::FILM, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}}); -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}}); - - // A map from the zcr_color_manager_v1 eotf_names enum values - // representing well-known EOTFs, to their equivalent TransferIDs. -@@ -107,68 +107,68 @@ - zcr_color_manager_v1_eotf_names, - TransferVersion>({ - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferVersion(gfx::ColorSpace::TransferID::LINEAR, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LINEAR, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, -- TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, -- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, -- TransferVersion(gfx::ColorSpace::TransferID::BT709, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT709, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA24, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA24, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, - // This is ever so slightly inaccurate. The number ought to be - // 2.19921875f, not 2.2 -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA22, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA22, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, -- TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, -- TransferVersion(gfx::ColorSpace::TransferID::HLG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::HLG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M, -- TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M, -- TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::SMPTEST428_1, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG, -- TransferVersion(gfx::ColorSpace::TransferID::LOG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LOG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT, -- TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::IEC61966_2_4, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG, -- TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10, -- TransferVersion(gfx::ColorSpace::TransferID::BT2020_10, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_10, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12, -- TransferVersion(gfx::ColorSpace::TransferID::BT2020_12, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_12, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA18, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA18, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA28, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA28, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}}, - }); - - // A map from the SDR zcr_color_manager_v1 eotf_names enum values -@@ -177,18 +177,18 @@ - constexpr auto kTransferMap = - base::MakeFixedFlatMap({ - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, -- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kRec709, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, -- TransferFnVersion(gamma24, kDefaultSinceVersion)}, -+ TransferFnVersion{gamma24, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, -- TransferFnVersion(SkNamedTransferFnExt::kA98RGB, -- kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFnExt::kA98RGB, -+ kDefaultSinceVersion}}, - }); - - // A map from the HDR zcr_color_manager_v1 eotf_names enum values -@@ -197,70 +197,70 @@ - constexpr auto kHDRTransferMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kSRGB, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, -- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, -- TransferFnVersion(SkNamedTransferFn::kHLG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, -+ TransferFnVersion{SkNamedTransferFn::kHLG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kSRGBExtended1023Over510, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}}); -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}}); - - // A map from zcr_color_manager_v1 matrix_names enum values to - // gfx::ColorSpace::MatrixIDs. - constexpr auto kMatrixMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB, -- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709, -- MatrixVersion(gfx::ColorSpace::MatrixID::BT709, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::BT709, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG, -- MatrixVersion( -+ MatrixVersion{ - gfx::ColorSpace::MatrixID::BT470BG, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL, -- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL, -- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC, -- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG, -- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX, -- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR, -- MatrixVersion(gfx::ColorSpace::MatrixID::GBR, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::GBR, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M, -- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M, -- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M, -- kDefaultSinceVersion)}}); -+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M, -+ kDefaultSinceVersion}}}); - - // A map from zcr_color_manager_v1 range_names enum values to - // gfx::ColorSpace::RangeIDs. - constexpr auto kRangeMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED, -- RangeVersion(gfx::ColorSpace::RangeID::LIMITED, -- kDefaultSinceVersion)}, -+ RangeVersion{gfx::ColorSpace::RangeID::LIMITED, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL, -- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)}, -+ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED, -- RangeVersion(gfx::ColorSpace::RangeID::DERIVED, -- kDefaultSinceVersion)}}); -+ RangeVersion{gfx::ColorSpace::RangeID::DERIVED, -+ kDefaultSinceVersion}}}); - - zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity( - gfx::ColorSpace::PrimaryID primaryID, -@@ -283,4 +283,4 @@ - - } // namespace ui::wayland - --#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ -\ Kein Zeilenumbruch am Dateiende. -+#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ -diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc ---- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.me 2023-11-01 20:46:15.997861278 +0100 -+++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-11-01 20:49:33.603371680 +0100 -@@ -58,13 +58,13 @@ EmbeddedPermissionPromptPreviouslyGrante - std::vector - EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() { - std::vector buttons; -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING), -- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal); -+ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal}; - -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING), -- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal); -+ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal}; - return buttons; - } - -diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc ---- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than 2023-11-01 20:52:29.005464494 +0100 -+++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2023-11-01 21:14:12.741859604 +0100 -@@ -56,12 +56,12 @@ std::vector buttons; - if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) { -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME), -- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal); -+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal}; - } -- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), -- ButtonType::kAllow, ui::ButtonStyle::kTonal); -+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), -+ ButtonType::kAllow, ui::ButtonStyle::kTonal}; - return buttons; - } - -diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h ---- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.me 2023-11-01 21:22:02.222646903 +0100 -+++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2023-11-01 21:19:58.769619393 +0100 -@@ -72,6 +72,7 @@ class EmbeddedPermissionPromptBaseView : - struct RequestLineConfiguration { - const raw_ptr icon; - std::u16string message; -+ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { } - }; - - struct ButtonConfiguration { -diff -up chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc ---- chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than 2023-11-01 21:25:31.118626473 +0100 -+++ chromium-119.0.6045.59/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2023-11-01 21:30:06.383340274 +0100 -@@ -48,8 +48,8 @@ EmbeddedPermissionPromptPolicyView::GetR - std::vector - EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() { - std::vector buttons; -- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), -- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal); -+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), -+ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal}; - return buttons; - } - diff --git a/chromium-119-norar.patch b/chromium-119-norar.patch deleted file mode 100644 index 51b7155..0000000 --- a/chromium-119-norar.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -up chromium-119.0.6045.105/chrome/browser/safe_browsing/download_protection/file_analyzer.cc.nounrar chromium-119.0.6045.105/chrome/browser/safe_browsing/download_protection/file_analyzer.cc ---- chromium-119.0.6045.105/chrome/browser/safe_browsing/download_protection/file_analyzer.cc.nounrar 2023-11-01 19:10:13.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/browser/safe_browsing/download_protection/file_analyzer.cc 2023-11-06 17:16:55.630255973 +0100 -@@ -77,8 +77,6 @@ void FileAnalyzer::Start(const base::Fil - - if (inspection_type == DownloadFileType::ZIP) { - StartExtractZipFeatures(); -- } else if (inspection_type == DownloadFileType::RAR) { -- StartExtractRarFeatures(); - #if BUILDFLAG(IS_MAC) - } else if (inspection_type == DownloadFileType::DMG) { - StartExtractDmgFeatures(); -diff -up chromium-119.0.6045.105/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-119.0.6045.105/chrome/common/safe_browsing/BUILD.gn ---- chromium-119.0.6045.105/chrome/common/safe_browsing/BUILD.gn.nounrar 2023-11-01 19:10:16.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/common/safe_browsing/BUILD.gn 2023-11-06 17:16:55.630255973 +0100 -@@ -143,7 +143,6 @@ source_set("safe_browsing") { - "//components/safe_browsing/content/common:file_type_policies", - "//components/safe_browsing/core/common", - "//third_party/lzma_sdk/google:seven_zip_reader", -- "//third_party/unrar:unrar", - ] - - public_deps = [ -diff -up chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2023-11-06 18:07:30.549291823 +0100 -+++ chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.cc 2023-11-06 18:08:00.510076945 +0100 -@@ -74,6 +74,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile - const absl::optional& password, - mojo::PendingRemote temp_file_getter, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - temp_file_getter_.Bind(std::move(temp_file_getter)); - callback_ = std::move(callback); -@@ -90,6 +91,9 @@ void SafeArchiveAnalyzer::AnalyzeRarFile - /*password=*/password, - std::move(analysis_finished_callback), - std::move(temp_file_getter_callback), &results_); -+#else -+ NOTREACHED(); -+#endif - } - - void SafeArchiveAnalyzer::AnalyzeSevenZipFile( -diff -up chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.h.nounrar chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.h ---- chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.h.nounrar 2023-11-01 19:10:16.000000000 +0100 -+++ chromium-119.0.6045.105/chrome/services/file_util/safe_archive_analyzer.h 2023-11-06 17:16:55.630255973 +0100 -@@ -7,7 +7,6 @@ - - #include "chrome/common/safe_browsing/archive_analyzer_results.h" - #include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h" --#include "chrome/utility/safe_browsing/rar_analyzer.h" - #include "chrome/utility/safe_browsing/seven_zip_analyzer.h" - #include "chrome/utility/safe_browsing/zip_analyzer.h" - #include "mojo/public/cpp/bindings/remote.h" -@@ -66,7 +65,6 @@ class SafeArchiveAnalyzer : public chrom - void Timeout(); - - safe_browsing::ZipAnalyzer zip_analyzer_; -- safe_browsing::RarAnalyzer rar_analyzer_; - safe_browsing::SevenZipAnalyzer seven_zip_analyzer_; - #if BUILDFLAG(IS_MAC) - safe_browsing::dmg::DMGAnalyzer dmg_analyzer_; diff --git a/chromium-119-nullptr_t-without-namespace-std.patch b/chromium-119-nullptr_t-without-namespace-std.patch deleted file mode 100644 index 5cb969f..0000000 --- a/chromium-119-nullptr_t-without-namespace-std.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h ---- chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h.me 2023-10-27 20:07:16.421230815 +0200 -+++ chromium-119.0.6045.59/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2023-10-27 20:07:36.883600085 +0200 -@@ -52,7 +52,7 @@ class FragmentDataIterator - public: - explicit FragmentDataIterator(const LayoutObject& object) - : FragmentDataIteratorBase(&object.FirstFragment()) {} -- explicit FragmentDataIterator(nullptr_t) -+ explicit FragmentDataIterator(std::nullptr_t) - : FragmentDataIteratorBase(nullptr) {} - }; - -@@ -63,7 +63,7 @@ class MutableFragmentDataIterator - explicit MutableFragmentDataIterator(const LayoutObject& object) - : FragmentDataIteratorBase( - &object.GetMutableForPainting().FirstFragment()) {} -- explicit MutableFragmentDataIterator(nullptr_t) -+ explicit MutableFragmentDataIterator(std::nullptr_t) - : FragmentDataIteratorBase(nullptr) {} - }; - diff --git a/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch b/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch deleted file mode 100644 index 717d897..0000000 --- a/chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch +++ /dev/null @@ -1,164 +0,0 @@ -commit bdcc23e0a5e7e220660d3f54c97262f9a4c31606 -Author: Nick Diego Yamane -Date: Thu Nov 2 17:26:25 2023 +0000 - - gbm: nvidia: use separate bo to verify modifiers - - Buggy Nvidia drivers fail to return FDs for planes of a BO which had - already an imported BO destroyed before. This is a workaround for that - issue, which consists of creating/destroying a separate 1x1 BO for - validating the modifiers before actually creating the final requested - BO, which for now is limited to IS_LINUX builds. - - The Nvidia driver bug is being tracked under internal bug 4315529. There - seems to be other issues when running under Wayland with Nvidia, which - will be tracked and addressed in separate patches. - - R=dcastagna, msisov@igalia.com - - with ozone/wayland backend and verify GPU acceleration is not broken. - - Test: In a single Nvidia GPU setup, with proprietary driver, run Chrome - Bug: 1273758, 1478684, 1463851 - Change-Id: I9f322bcf40b460bcd4ead02f05dd2e9a8d271cea - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989782 - Reviewed-by: Maksim Sisov - Commit-Queue: Nick Yamane - Cr-Commit-Position: refs/heads/main@{#1218924} - -diff --git a/ui/gfx/linux/gbm_wrapper.cc b/ui/gfx/linux/gbm_wrapper.cc -index bf90b76605f68..14918c19c0ab0 100644 ---- a/ui/gfx/linux/gbm_wrapper.cc -+++ b/ui/gfx/linux/gbm_wrapper.cc -@@ -11,6 +11,7 @@ - #include "base/logging.h" - #include "base/memory/raw_ptr.h" - #include "base/memory/raw_ptr_exclusion.h" -+#include "base/numerics/safe_conversions.h" - #include "base/posix/eintr_wrapper.h" - #include "skia/ext/legacy_display_globals.h" - #include "third_party/skia/include/core/SkSurface.h" -@@ -71,6 +72,7 @@ base::ScopedFD GetPlaneFdForBo(gbm_bo* bo, size_t plane) { - int ret; - // Use DRM_RDWR to allow the fd to be mappable in another process. - ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd); -+ PLOG_IF(ERROR, ret != 0) << "Failed to get fd for plane."; - - // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping - // anyways -@@ -301,58 +303,82 @@ class Device final : public ui::GbmDevice { - - std::unique_ptr CreateBufferWithModifiers( - uint32_t format, -- const gfx::Size& size, -+ const gfx::Size& requested_size, - uint32_t flags, - const std::vector& modifiers) override { -- if (modifiers.empty()) -- return CreateBuffer(format, size, flags); -- -- std::vector filtered_modifiers = -- GetFilteredModifiers(format, flags, modifiers); -- struct gbm_bo* bo = nullptr; -- while (filtered_modifiers.size() > 0) { -- bo = gbm_bo_create_with_modifiers(device_, size.width(), size.height(), -- format, filtered_modifiers.data(), -- filtered_modifiers.size()); -- if (!bo) { -+ if (modifiers.empty()) { -+ return CreateBuffer(format, requested_size, flags); -+ } -+ -+ // Buggy drivers prevent us from getting plane FDs from a BO which had its -+ // previously imported BO destroyed. E.g: Nvidia. Thus, on Linux Desktop, we -+ // do the create/import modifiers validation loop below using a separate set -+ // of 1x1 BOs which are destroyed before creating the final BO creation used -+ // to instantiate the returned GbmBuffer. -+ gfx::Size size = -+#if BUILDFLAG(IS_LINUX) -+ gfx::Size(1, 1); -+#else -+ requested_size; -+#endif -+ auto filtered_modifiers = GetFilteredModifiers(format, flags, modifiers); -+ struct gbm_bo* created_bo = nullptr; -+ bool valid_modifiers = false; -+ -+ while (!valid_modifiers && !filtered_modifiers.empty()) { -+ created_bo = gbm_bo_create_with_modifiers( -+ device_, size.width(), size.height(), format, -+ filtered_modifiers.data(), filtered_modifiers.size()); -+ if (!created_bo) { - return nullptr; - } - -- struct gbm_import_fd_modifier_data fd_data; -- fd_data.width = size.width(); -- fd_data.height = size.height(); -- fd_data.format = format; -- fd_data.num_fds = gbm_bo_get_plane_count(bo); -- fd_data.modifier = gbm_bo_get_modifier(bo); -- -- // Store fds in the vector of base::ScopedFDs. Will be released -- // automatically. -+ const int planes_count = gbm_bo_get_plane_count(created_bo); -+ struct gbm_import_fd_modifier_data fd_data = { -+ .width = base::checked_cast(size.width()), -+ .height = base::checked_cast(size.height()), -+ .format = format, -+ .num_fds = base::checked_cast(planes_count), -+ .modifier = gbm_bo_get_modifier(created_bo)}; -+ // Store fds in a base::ScopedFDs vector. Will be released automatically. - std::vector fds; - for (size_t i = 0; i < static_cast(fd_data.num_fds); ++i) { -- fds.emplace_back(GetPlaneFdForBo(bo, i)); -+ fds.emplace_back(GetPlaneFdForBo(created_bo, i)); - fd_data.fds[i] = fds.back().get(); -- fd_data.strides[i] = gbm_bo_get_stride_for_plane(bo, i); -- fd_data.offsets[i] = gbm_bo_get_offset(bo, i); -+ fd_data.strides[i] = gbm_bo_get_stride_for_plane(created_bo, i); -+ fd_data.offsets[i] = gbm_bo_get_offset(created_bo, i); - } - -- struct gbm_bo* bo_import = -+ struct gbm_bo* imported_bo = - gbm_bo_import(device_, GBM_BO_IMPORT_FD_MODIFIER, &fd_data, flags); -- if (bo_import) { -- gbm_bo_destroy(bo_import); -- break; -+ -+ if (imported_bo) { -+ valid_modifiers = true; -+ gbm_bo_destroy(imported_bo); - } else { -- gbm_bo_destroy(bo); -- bo = nullptr; - AddModifierToBlocklist(format, flags, fd_data.modifier); - filtered_modifiers = - GetFilteredModifiers(format, flags, filtered_modifiers); - } -+ -+ if (!valid_modifiers || size != requested_size) { -+ gbm_bo_destroy(created_bo); -+ created_bo = nullptr; -+ } - } -- if (!bo) { -- return nullptr; -+ -+ // If modifiers were successfully verified though `created_bo` is null here, -+ // it it means that the buffer created for verification could not be reused, -+ // ie: different size, so create it now with the `requested_size`. -+ if (valid_modifiers && !created_bo) { -+ created_bo = gbm_bo_create_with_modifiers( -+ device_, requested_size.width(), requested_size.height(), format, -+ filtered_modifiers.data(), filtered_modifiers.size()); -+ PLOG_IF(ERROR, !created_bo) << "Failed to create BO with modifiers."; - } - -- return CreateBufferForBO(bo, format, size, flags); -+ return created_bo ? CreateBufferForBO(created_bo, format, size, flags) -+ : nullptr; - } - - std::unique_ptr CreateBufferFromHandle( diff --git a/chromium-119-revert-av1enc-el9.patch b/chromium-119-revert-av1enc-el9.patch deleted file mode 100644 index b533ab9..0000000 --- a/chromium-119-revert-av1enc-el9.patch +++ /dev/null @@ -1,121 +0,0 @@ -diff -up chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc ---- chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me 2023-05-21 10:05:00.357860329 +0200 -+++ chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2023-05-21 10:18:09.665432735 +0200 -@@ -41,7 +41,6 @@ - #include "media/gpu/gpu_video_encode_accelerator_helpers.h" - #include "media/gpu/h264_dpb.h" - #include "media/gpu/macros.h" --#include "media/gpu/vaapi/av1_vaapi_video_encoder_delegate.h" - #include "media/gpu/vaapi/h264_vaapi_video_encoder_delegate.h" - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_common.h" -@@ -200,7 +199,7 @@ bool VaapiVideoEncodeAccelerator::Initia - - const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile); - if (codec != VideoCodec::kH264 && codec != VideoCodec::kVP8 && -- codec != VideoCodec::kVP9 && codec != VideoCodec::kAV1) { -+ codec != VideoCodec::kVP9) { - MEDIA_LOG(ERROR, media_log.get()) - << "Unsupported profile: " << GetProfileName(config.output_profile); - return false; -@@ -293,7 +292,6 @@ void VaapiVideoEncodeAccelerator::Initia - break; - case VideoCodec::kVP8: - case VideoCodec::kVP9: -- case VideoCodec::kAV1: - mode = VaapiWrapper::kEncodeConstantQuantizationParameter; - break; - default: -@@ -356,12 +354,6 @@ void VaapiVideoEncodeAccelerator::Initia - vaapi_wrapper_, error_cb); - } - break; -- case VideoCodec::kAV1: -- if (!IsConfiguredForTesting()) { -- encoder_ = std::make_unique( -- vaapi_wrapper_, error_cb); -- } -- break; - default: - NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_); - return; -@@ -835,10 +827,6 @@ VaapiVideoEncodeAccelerator::CreateEncod - case VideoCodec::kVP9: - picture = new VaapiVP9Picture(std::move(reconstructed_surface)); - break; -- case VideoCodec::kAV1: -- picture = new VaapiAV1Picture(/*display_va_surface=*/nullptr, -- std::move(reconstructed_surface)); -- break; - default: - return nullptr; - } -diff -up chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/BUILD.gn ---- chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200 -+++ chromium-114.0.5735.35/media/gpu/BUILD.gn 2023-05-20 13:14:10.755183630 +0200 -@@ -373,10 +373,7 @@ source_set("common") { - "vp9_svc_layers.h", - ] - configs += [ "//third_party/libvpx:libvpx_config" ] -- deps += [ -- "//third_party/libaom:libaomrc", -- "//third_party/libvpx:libvpxrc", -- ] -+ deps += [ "//third_party/libvpx:libvpxrc" ] - } - if (use_libgav1_parser) { - sources += [ -diff -up chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn ---- chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200 -+++ chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn 2023-05-20 13:14:10.756183626 +0200 -@@ -38,8 +38,6 @@ source_set("vaapi") { - sources = [ - "av1_vaapi_video_decoder_delegate.cc", - "av1_vaapi_video_decoder_delegate.h", -- "av1_vaapi_video_encoder_delegate.cc", -- "av1_vaapi_video_encoder_delegate.h", - "h264_vaapi_video_decoder_delegate.cc", - "h264_vaapi_video_decoder_delegate.h", - "h264_vaapi_video_encoder_delegate.cc", -@@ -107,7 +105,6 @@ source_set("vaapi") { - "//media/gpu/chromeos:common", - "//media/parsers", - "//mojo/public/cpp/bindings", -- "//third_party/libaom:libaomrc", - "//third_party/libvpx:libvpxrc", - "//third_party/libyuv", - "//ui/gfx", -diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc ---- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me 2023-11-02 15:08:30.921325747 +0100 -+++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc 2023-11-02 15:09:46.123692602 +0100 -@@ -3124,6 +3124,7 @@ bool VaapiWrapper::GetSupportedPackedHea - return true; - } - -+#if 0 //disable AV1 due to old libva on epel9 - bool VaapiWrapper::GetMinAV1SegmentSize(VideoCodecProfile profile, - uint32_t& min_seg_size) { - CHECK(!enforce_sequence_affinity_ || -@@ -3141,6 +3142,7 @@ bool VaapiWrapper::GetMinAV1SegmentSize( - - return true; - } -+#endif - - bool VaapiWrapper::BlitSurface(const VASurface& va_surface_src, - const VASurface& va_surface_dest, -diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h ---- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me 2023-11-02 15:09:58.973928395 +0100 -+++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h 2023-11-02 15:10:45.990791114 +0100 -@@ -553,9 +553,11 @@ class MEDIA_GPU_EXPORT VaapiWrapper - bool& packed_pps, - bool& packed_slice); - -+#if 0 //disable AV1 due to old libva on epel9 - // Gets the minimum segment block size supported for AV1 encoding. - [[nodiscard]] bool GetMinAV1SegmentSize(VideoCodecProfile profile, - uint32_t& min_seg_size); -+#endif - - // Blits a VASurface |va_surface_src| into another VASurface - // |va_surface_dest| applying pixel format conversion, cropping diff --git a/chromium-119-system-libusb.patch b/chromium-119-system-libusb.patch deleted file mode 100644 index d147fe0..0000000 --- a/chromium-119-system-libusb.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up chromium-119.0.6045.105/build/linux/unbundle/libusb.gn.gnsystem chromium-119.0.6045.105/build/linux/unbundle/libusb.gn ---- chromium-119.0.6045.105/build/linux/unbundle/libusb.gn.gnsystem 2023-11-06 12:22:08.550625387 +0100 -+++ chromium-119.0.6045.105/build/linux/unbundle/libusb.gn 2023-11-06 12:22:08.550625387 +0100 -@@ -0,0 +1,24 @@ -+# Copyright 2016 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+ -+pkg_config("system_libusb") { -+ packages = [ "libusb-1.0" ] -+} -+ -+shim_headers("libusb_shim") { -+ root_path = "src/libusb" -+ headers = [ -+ "libusb.h", -+ ] -+} -+ -+source_set("libusb") { -+ deps = [ -+ ":libusb_shim", -+ ] -+ public_configs = [ ":system_libusb" ] -+} -diff -up chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py ---- chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py.gnsystem 2023-11-06 12:22:08.550625387 +0100 -+++ chromium-119.0.6045.105/build/linux/unbundle/replace_gn_files.py 2023-11-06 12:28:28.295776501 +0100 -@@ -54,6 +54,7 @@ REPLACEMENTS = { - 'libevent': 'third_party/libevent/BUILD.gn', - 'libjpeg': 'third_party/libjpeg.gni', - 'libpng': 'third_party/libpng/BUILD.gn', -+ 'libusb': 'third_party/libusb/BUILD.gn', - 'libvpx': 'third_party/libvpx/BUILD.gn', - 'libwebp': 'third_party/libwebp/BUILD.gn', - 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/chromium-119-system-minizip-header-fix.patch b/chromium-119-system-minizip-header-fix.patch deleted file mode 100644 index 14ac00b..0000000 --- a/chromium-119-system-minizip-header-fix.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -up chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc ---- chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2023-11-06 12:42:34.928657960 +0100 -+++ chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2023-11-06 12:51:12.547834851 +0100 -@@ -28,9 +28,8 @@ limitations under the License. - #include "tensorflow_lite_support/cc/port/status_macros.h" - #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h" - #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" --#include "third_party/zlib/contrib/minizip/ioapi.h" --#include "third_party/zlib/contrib/minizip/unzip.h" -- -+#include -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc ---- chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2023-11-01 19:11:24.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2023-11-06 12:42:34.928657960 +0100 -@@ -26,8 +26,8 @@ limitations under the License. - #include "tensorflow_lite_support/cc/port/statusor.h" - #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h" - #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" --#include "third_party/zlib/contrib/minizip/ioapi.h" --#include "third_party/zlib/contrib/minizip/unzip.h" -+#include -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc ---- chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2023-11-01 19:11:24.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2023-11-06 12:42:34.929657982 +0100 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc ---- chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2023-11-01 19:11:24.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2023-11-06 12:42:34.929657982 +0100 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h ---- chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2023-11-01 19:11:24.000000000 +0100 -+++ chromium-119.0.6045.105/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2023-11-06 12:42:34.929657982 +0100 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { diff --git a/chromium-121-system-libxml.patch b/chromium-121-system-libxml.patch new file mode 100644 index 0000000..da463c2 --- /dev/null +++ b/chromium-121-system-libxml.patch @@ -0,0 +1,24 @@ +diff -up chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h.me chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h +--- chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h.me 2024-02-06 08:22:36.013021582 +0100 ++++ chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h 2024-02-06 08:23:08.281607499 +0100 +@@ -77,7 +77,7 @@ class XSLTProcessor final : public Scrip + + void reset(); + +- static void ParseErrorFunc(void* user_data, const xmlError*); ++ static void ParseErrorFunc(void* user_data, xmlError*); + static void GenericErrorFunc(void* user_data, const char* msg, ...); + + // Only for libXSLT callbacks +diff -up chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.me chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc +--- chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.me 2024-02-06 08:14:32.368066214 +0100 ++++ chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 2024-02-06 08:23:08.282607518 +0100 +@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(voi + // It would be nice to do something with this error message. + } + +-void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { ++void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { + FrameConsole* console = static_cast(user_data); + if (!console) + return; diff --git a/chromium-122-clang-build-flags.patch b/chromium-122-clang-build-flags.patch new file mode 100644 index 0000000..dc1508d --- /dev/null +++ b/chromium-122-clang-build-flags.patch @@ -0,0 +1,17 @@ +diff -up chromium-122.0.6261.57/build/config/compiler/BUILD.gn.me chromium-122.0.6261.57/build/config/compiler/BUILD.gn +--- chromium-122.0.6261.57/build/config/compiler/BUILD.gn.me 2024-02-23 12:32:11.248584653 +0100 ++++ chromium-122.0.6261.57/build/config/compiler/BUILD.gn 2024-02-23 12:45:26.672302958 +0100 +@@ -399,6 +399,13 @@ config("compiler") { + } + } + ++ if (is_clang) { ++ cflags += [ "-ftrivial-auto-var-init=zero" ] ++ if (!is_ubsan && !is_ubsan_security) { ++ cflags += [ "-fwrapv" ] ++ } ++ } ++ + # Linker warnings. + if (fatal_linker_warnings && !is_apple && current_os != "aix" && + current_os != "zos") { diff --git a/chromium-123-fstack-protector-strong.patch b/chromium-123-fstack-protector-strong.patch new file mode 100644 index 0000000..33a4142 --- /dev/null +++ b/chromium-123-fstack-protector-strong.patch @@ -0,0 +1,12 @@ +diff -up chromium-123.0.6312.46/build/config/compiler/BUILD.gn.fstack-protector-strong chromium-123.0.6312.46/build/config/compiler/BUILD.gn +--- chromium-123.0.6312.46/build/config/compiler/BUILD.gn.fstack-protector-strong 2024-03-15 11:46:34.542248116 +0100 ++++ chromium-123.0.6312.46/build/config/compiler/BUILD.gn 2024-03-15 11:59:02.970849847 +0100 +@@ -382,7 +382,7 @@ config("compiler") { + } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) { + if (current_os != "aix") { + # Not available on aix. +- cflags += [ "-fstack-protector" ] ++ cflags += [ "-fstack-protector-strong" ] + } + } + } diff --git a/chromium-123-screen-ai-service.patch b/chromium-123-screen-ai-service.patch new file mode 100644 index 0000000..9d28a01 --- /dev/null +++ b/chromium-123-screen-ai-service.patch @@ -0,0 +1,13 @@ +diff -up chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc.me chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc +--- chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc.me 2024-03-24 10:58:43.033885904 +0100 ++++ chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc 2024-03-24 11:00:38.861979740 +0100 +@@ -143,8 +143,7 @@ void ScreenAIComponentInstallerPolicy::D + void ManageScreenAIComponentRegistration(ComponentUpdateService* cus, + PrefService* local_state) { + if (screen_ai::ScreenAIInstallState::ShouldInstall(local_state)) { +- RegisterScreenAIComponent(cus); +- return; ++ // don't register the screenn ai service + } + + // Clean up. diff --git a/chromium-124-el8-arm64-memory_tagging.patch b/chromium-124-el8-arm64-memory_tagging.patch new file mode 100644 index 0000000..3a3766a --- /dev/null +++ b/chromium-124-el8-arm64-memory_tagging.patch @@ -0,0 +1,13 @@ +diff -up chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni.me chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni +--- chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni.me 2024-04-18 15:12:34.007397489 +0200 ++++ chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni 2024-04-18 15:13:06.166051954 +0200 +@@ -32,8 +32,7 @@ if (is_nacl) { + # Increases the size of the empty slot span ring. + use_large_empty_slot_span_ring = is_mac + +-has_memory_tagging = +- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android) ++has_memory_tagging = false + + declare_args() { + # Causes all the allocations to be routed via allocator_shim.cc. Usually, diff --git a/chromium-124-qt6.patch b/chromium-124-qt6.patch new file mode 100644 index 0000000..5c600c5 --- /dev/null +++ b/chromium-124-qt6.patch @@ -0,0 +1,11 @@ +diff -up chromium-124.0.6367.155/ui/qt/BUILD.gn.me chromium-124.0.6367.155/ui/qt/BUILD.gn +--- chromium-124.0.6367.155/ui/qt/BUILD.gn.me 2024-05-08 18:15:34.178627040 +0200 ++++ chromium-124.0.6367.155/ui/qt/BUILD.gn 2024-05-08 18:29:31.162513709 +0200 +@@ -61,6 +61,7 @@ template("qt_shim") { + packages = [ + "Qt" + invoker.qt_version + "Core", + "Qt" + invoker.qt_version + "Widgets", ++ "Qt" + invoker.qt_version + "Gui", + ] + } + diff --git a/chromium-127-aarch64-duplicate-case-value.patch b/chromium-127-aarch64-duplicate-case-value.patch new file mode 100644 index 0000000..0366be8 --- /dev/null +++ b/chromium-127-aarch64-duplicate-case-value.patch @@ -0,0 +1,13 @@ +diff -up chromium-127.0.6533.72/sandbox/linux/syscall_broker/broker_process.cc.me chromium-127.0.6533.72/sandbox/linux/syscall_broker/broker_process.cc +--- chromium-127.0.6533.72/sandbox/linux/syscall_broker/broker_process.cc.me 2024-07-30 18:09:59.483141522 +0200 ++++ chromium-127.0.6533.72/sandbox/linux/syscall_broker/broker_process.cc 2024-07-30 19:42:47.122708543 +0200 +@@ -163,9 +163,6 @@ bool BrokerProcess::IsSyscallBrokerable( + case __NR_stat: + case __NR_lstat: + #endif +-#if defined(__NR_fstatat) +- case __NR_fstatat: +-#endif + #if defined(__NR_fstatat64) + case __NR_fstatat64: + #endif diff --git a/chromium-127-el8-ifunc-header.patch b/chromium-127-el8-ifunc-header.patch new file mode 100644 index 0000000..985b118 --- /dev/null +++ b/chromium-127-el8-ifunc-header.patch @@ -0,0 +1,15 @@ +diff -up chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h +--- chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me 2024-07-25 23:58:19.751616508 +0200 ++++ chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h 2024-07-26 00:01:46.391800969 +0200 +@@ -10,9 +10,11 @@ + #include "partition_alloc/build_config.h" + #include "partition_alloc/partition_alloc_buildflags.h" + ++#if 0 + #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_LINUX) + #define HAS_HW_CAPS + #endif ++#endif + + #if PA_BUILDFLAG(PA_ARCH_CPU_ARM64) && defined(HAS_HW_CAPS) + #include diff --git a/chromium-130-hardware_destructive_interference_size.patch b/chromium-130-hardware_destructive_interference_size.patch new file mode 100644 index 0000000..8d02fd9 --- /dev/null +++ b/chromium-130-hardware_destructive_interference_size.patch @@ -0,0 +1,21 @@ +diff -up chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h.me chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h +--- chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h.me 2024-10-15 09:58:39.571798463 +0200 ++++ chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h 2024-10-15 09:59:46.209147226 +0200 +@@ -12,7 +12,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -368,7 +367,8 @@ class EnumTable { + + private: + #ifdef ARCH_CPU_64_BITS +- alignas(std::hardware_destructive_interference_size) ++ // Align the data on a cache line boundary. ++ alignas(64) + #endif + std::initializer_list data_; + bool is_sorted_; diff --git a/chromium-131-fix-qt-ui.pach b/chromium-131-fix-qt-ui.pach new file mode 100644 index 0000000..d0b778c --- /dev/null +++ b/chromium-131-fix-qt-ui.pach @@ -0,0 +1,19 @@ +From b9075d0e1f687f9a5cf80a7778bde99cece9fdf7 Mon Sep 17 00:00:00 2001 +From: Than Ngo +Date: Sat, 23 Nov 2024 12:33:22 +0100 +Subject: [PATCH] Enable qt-ui + + +diff -up chromium-131.0.6778.85/ui/qt/qt_shim.cc.me chromium-131.0.6778.85/ui/qt/qt_shim.cc +--- chromium-131.0.6778.85/ui/qt/qt_shim.cc.me 2024-11-23 10:04:16.789121846 +0100 ++++ chromium-131.0.6778.85/ui/qt/qt_shim.cc 2024-11-23 11:40:02.905064702 +0100 +@@ -265,7 +265,7 @@ FontRenderParams QtShim::GetFontRenderPa + FontDescription QtShim::GetFontDescription() const { + QFont font = app_.font(); + return { +- .family = String(font.family().toStdString().c_str()), ++ .family = String(font.family().toUtf8().constData()), + .size_pixels = font.pixelSize(), + .size_points = font.pointSize(), + .is_italic = IsStyleItalic(font.style()), + diff --git a/chromium-131-revert-decommit-pooled-pages-by-default.patch b/chromium-131-revert-decommit-pooled-pages-by-default.patch new file mode 100644 index 0000000..4639b41 --- /dev/null +++ b/chromium-131-revert-decommit-pooled-pages-by-default.patch @@ -0,0 +1,32 @@ +commit 1ab1a14ad97394d384d8dc6de51bb229625e66d6 +Author: Benoît Lizé +Date: Mon Sep 16 12:01:14 2024 +0200 + + [cppgc] Decommit pooled pages by default + + This reduces committed memory by a large amount, which matters on + Windows. See the field trial results, which measure committed memory: + https://screenshot.googleplex.com/kEBAScqJSEXuRoy + + Bug: chromium:326303884 + Change-Id: I619257871bcdb7ed50a71f41af341d0df634428a + Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5864909 + Reviewed-by: Michael Lippautz + Reviewed-by: Anton Bikineev + Commit-Queue: Anton Bikineev + Auto-Submit: Benoit Lize + Cr-Commit-Position: refs/heads/main@{#96107} + +diff --git a/v8/src/flags/flag-definitions.h b/v8/src/flags/flag-definitions.h +index 69946faf5ed..85c4b68612e 100644 +--- a/v8/src/flags/flag-definitions.h ++++ b/v8/src/flags/flag-definitions.h +@@ -821,7 +821,7 @@ DEFINE_BOOL(trace_block_coverage, false, + "trace collected block coverage information") + DEFINE_BOOL(trace_protector_invalidation, false, + "trace protector cell invalidations") +-DEFINE_BOOL(decommit_pooled_pages, false, ++DEFINE_BOOL(decommit_pooled_pages, true, + "decommit, rather than discard pooled pages") + + #ifdef V8_MINORMS_STRING_SHORTCUTTING diff --git a/chromium-132-el8-unsupport-rustc-flags.patch b/chromium-132-el8-unsupport-rustc-flags.patch new file mode 100644 index 0000000..57d325e --- /dev/null +++ b/chromium-132-el8-unsupport-rustc-flags.patch @@ -0,0 +1,11 @@ +diff -up chromium-132.0.6834.57/build/config/gcc/BUILD.gn.me chromium-132.0.6834.57/build/config/gcc/BUILD.gn +--- chromium-132.0.6834.57/build/config/gcc/BUILD.gn.me 2025-01-01 18:59:29.670002052 +0100 ++++ chromium-132.0.6834.57/build/config/gcc/BUILD.gn 2025-01-01 20:51:11.798696436 +0100 +@@ -32,7 +32,6 @@ declare_args() { + # See http://gcc.gnu.org/wiki/Visibility + config("symbol_visibility_hidden") { + cflags = [ "-fvisibility=hidden" ] +- rustflags = [ "-Zdefault-visibility=hidden" ] + + # Visibility attribute is not supported on AIX. + if (current_os != "aix") { diff --git a/chromium-133-disable-H.264-video-parser-during-demuxing.patch b/chromium-133-disable-H.264-video-parser-during-demuxing.patch new file mode 100644 index 0000000..2456708 --- /dev/null +++ b/chromium-133-disable-H.264-video-parser-during-demuxing.patch @@ -0,0 +1,12 @@ +diff -up chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc +--- chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me 2025-02-05 13:28:17.782881439 +0100 ++++ chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc 2025-02-05 13:33:15.256928027 +0100 +@@ -111,7 +111,7 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol + + // We don't allow H.264 parsing during demuxing since we have our own parser + // and the ffmpeg one increases memory usage unnecessarily. +- format_context_->flags |= AVFMT_FLAG_NOH264PARSE; ++ // format_context_->flags |= AVFMT_FLAG_NOH264PARSE; + + // Ensures format parsing errors will bail out. From an audit on 11/2017, all + // instances were real failures. Solves bugs like http://crbug.com/710791. diff --git a/chromium-133-workaround-system-ffmpeg-whitelist.patch b/chromium-133-workaround-system-ffmpeg-whitelist.patch new file mode 100644 index 0000000..d0e56f4 --- /dev/null +++ b/chromium-133-workaround-system-ffmpeg-whitelist.patch @@ -0,0 +1,34 @@ +diff -up chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc.than chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc +--- chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc.than 2025-02-13 11:59:31.035724118 +0100 ++++ chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc 2025-02-14 10:39:07.825746076 +0100 +@@ -76,6 +76,8 @@ const char* GetAllowedVideoDecoders() { + void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) { + // Future versions of ffmpeg may copy the allow list from the format + // context. ++ // Workaround for codec whitelist with system ffmpeg ++#if 0 + if (!codec_context->codec_whitelist) { + // Note: FFmpeg will try to free this string, so we must duplicate it. + codec_context->codec_whitelist = +@@ -83,6 +85,7 @@ void ApplyCodecContextSecuritySettings(A + ? GetAllowedAudioDecoders() + : GetAllowedVideoDecoders()); + } ++#endif + + // Note: This is security sensitive. FFmpeg may not always continue safely + // in the presence of errors. See https://crbug.com/379418979 +diff -up chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc.than chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc +--- chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc.than 2025-02-14 10:14:13.360398193 +0100 ++++ chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc 2025-02-14 10:36:46.762332912 +0100 +@@ -131,8 +131,10 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol + // memory usage. + // + // Note: FFmpeg will try to free these strings, so we must duplicate them. ++#if 0 + format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders()); + format_context_->format_whitelist = av_strdup(GetAllowedDemuxers()); ++#endif + } + + bool FFmpegGlue::OpenContext(bool is_local_file) { diff --git a/chromium-134-el8-atk-compiler-error.patch b/chromium-134-el8-atk-compiler-error.patch new file mode 100644 index 0000000..c44d174 --- /dev/null +++ b/chromium-134-el8-atk-compiler-error.patch @@ -0,0 +1,1067 @@ +diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc +--- chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than 2025-02-12 02:31:02.000000000 +0100 ++++ chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2025-02-17 17:13:30.971343965 +0100 +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + #include ++#include + + #include + #include +@@ -550,6 +551,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + g_object_unref(div_element); + } + ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0) ++#define ATK_230 ++#endif ++ + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, + TestCharacterExtentsWithInvalidArguments) { + AtkText* atk_text = SetUpSampleParagraph(); +@@ -572,12 +577,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_EQ(expect, width); + EXPECT_EQ(expect, height); + ++#ifdef ATK_230 + atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width, + &height, ATK_XY_PARENT); + EXPECT_EQ(expect, x); + EXPECT_EQ(expect, y); + EXPECT_EQ(expect, width); + EXPECT_EQ(expect, height); ++#endif // ATK_230 + + atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width, + &height, ATK_XY_WINDOW); +@@ -596,12 +603,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_EQ(expect, width); + EXPECT_EQ(expect, height); + ++#ifdef ATK_230 + atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width, + &height, ATK_XY_PARENT); + EXPECT_EQ(expect, x); + EXPECT_EQ(expect, y); + EXPECT_EQ(expect, width); + EXPECT_EQ(expect, height); ++#endif // ATK_230 + + atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width, + &height, ATK_XY_WINDOW); +@@ -616,7 +625,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + AtkCoordType kCoordinateTypes[] = { + ATK_XY_SCREEN, + ATK_XY_WINDOW, ++#ifdef ATK_230 + ATK_XY_PARENT, ++#endif // ATK_230 + }; + + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, +@@ -875,6 +886,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + TestCharacterExtentsInScrollableInput(); + } + ++#if defined(ATK_230) + typedef bool (*ScrollToPointFunc)(AtkComponent* component, + AtkCoordType coords, + gint x, +@@ -884,6 +896,18 @@ typedef bool (*ScrollToFunc)(AtkComponen + // TODO(crbug.com/40866728): Enable this test. + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, + DISABLED_TestScrollToPoint) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.30 instead of linking directly. ++ ScrollToPointFunc scroll_to_point = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point")); ++ if (!scroll_to_point) { ++ LOG(WARNING) ++ << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollToPoint" ++ " because ATK version < 2.30 detected."; ++ return; ++ } ++ + LoadSampleParagraphInScrollableDocument(); + AtkText* atk_text = GetSampleParagraph(); + ASSERT_TRUE(ATK_IS_COMPONENT(atk_text)); +@@ -896,7 +920,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + AccessibilityNotificationWaiter location_changed_waiter( + shell()->web_contents(), ui::kAXModeComplete, + ax::mojom::Event::kLocationChanged); +- atk_component_scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0); ++ scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + + atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr, +@@ -905,20 +929,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_GT(prev_y, y); + + constexpr int kScrollToY = 0; +- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY); ++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(kScrollToY, y); + + constexpr int kScrollToY_2 = 243; +- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2); ++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(kScrollToY_2, y); + +- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129); ++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr, + ATK_XY_SCREEN); +@@ -935,6 +959,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + // TODO(crbug.com/40866728): Enable this test. + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, + DISABLED_TestScrollTo) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.30 instead of linking directly. ++ ScrollToFunc scroll_to = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to")); ++ if (!scroll_to) { ++ LOG(WARNING) << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollTo" ++ " because ATK version < 2.30 detected."; ++ return; ++ } ++ + LoadInitialAccessibilityTreeFromHtml( + R"HTML( + +@@ -976,8 +1011,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + AccessibilityNotificationWaiter waiter( + shell()->web_contents(), ui::kAXModeComplete, + ax::mojom::Event::kScrollPositionChanged); +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + int x, y; + atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr, +@@ -985,40 +1019,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_EQ(y, doc_y); + EXPECT_NE(x, doc_x); + +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_NE(x, doc_x); + +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE( +- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT)); ++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); +@@ -1050,10 +1079,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + g_object_unref(target2); + g_object_unref(target3); + } ++#endif // defined(ATK_230) ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0) ++typedef gboolean (*ScrollSubstringToFunc)(AtkText* text, ++ gint start_offset, ++ gint end_offset, ++ AtkScrollType type); ++ScrollSubstringToFunc g_scroll_substring_to = nullptr; ++ ++NO_SANITIZE("cfi-icall") ++gboolean ScrollSubstringTo(AtkText* text, ++ gint start_offset, ++ gint end_offset, ++ AtkScrollType type) { ++ EXPECT_NE(g_scroll_substring_to, nullptr); ++ return g_scroll_substring_to(text, start_offset, end_offset, type); ++} + + // TODO(crbug.com/40866728): Enable this test. + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, + DISABLED_TestScrollSubstringTo) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.32 instead of linking directly. ++ g_scroll_substring_to = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to")); ++ if (!g_scroll_substring_to) { ++ LOG(WARNING) << "Skipping " ++ "AccessibilityAuraLinuxBrowserTest::TestSubstringScrollTo" ++ " because ATK version < 2.32 detected."; ++ return; ++ } ++ + LoadInitialAccessibilityTreeFromHtml( + R"HTML( + +@@ -1087,8 +1145,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + AccessibilityNotificationWaiter waiter( + shell()->web_contents(), ui::kAXModeComplete, + ax::mojom::Event::kScrollPositionChanged); +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_TOP_EDGE)); ++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + int x, y; + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, +@@ -1096,40 +1153,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_EQ(y, doc_y); + EXPECT_NE(x, doc_x); + +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_TOP_LEFT)); ++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_BOTTOM_EDGE)); ++ ASSERT_TRUE( ++ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_BOTTOM_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_RIGHT_EDGE)); ++ ASSERT_TRUE( ++ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_RIGHT_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_NE(x, doc_x); + +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_LEFT_EDGE)); ++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_LEFT_EDGE)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_NE(y, doc_y); + EXPECT_EQ(x, doc_x); + +- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2, +- ATK_SCROLL_TOP_LEFT)); ++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT)); + ASSERT_TRUE(waiter.WaitForNotification()); + atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); +@@ -1139,9 +1193,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + g_object_unref(target1); + } + ++typedef gboolean (*ScrollSubstringToPointFunc)(AtkText* text, ++ gint start_offset, ++ gint end_offset, ++ AtkCoordType coord_type, ++ gint x, ++ gint y); ++ScrollSubstringToPointFunc g_scroll_substring_to_point = nullptr; ++ ++NO_SANITIZE("cfi-icall") ++gboolean ScrollSubstringToPoint(AtkText* text, ++ gint start_offset, ++ gint end_offset, ++ AtkCoordType coord_type, ++ gint x, ++ gint y) { ++ EXPECT_NE(g_scroll_substring_to_point, nullptr); ++ return g_scroll_substring_to_point(text, start_offset, end_offset, coord_type, ++ x, y); ++} ++ + // TODO(crbug.com/40866728): Enable this test. + IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, + DISABLED_TestScrollSubstringToPoint) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.30 instead of linking directly. ++ g_scroll_substring_to_point = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point")); ++ if (!g_scroll_substring_to_point) { ++ LOG(WARNING) ++ << "Skipping " ++ "AccessibilityAuraLinuxBrowserTest::TestScrollSubstringToPoint" ++ " because ATK version < 2.30 detected."; ++ return; ++ } ++ + LoadSampleParagraphInScrollableDocument(); + AtkText* atk_text = GetSampleParagraph(); + ASSERT_TRUE(ATK_IS_COMPONENT(atk_text)); +@@ -1154,7 +1241,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + AccessibilityNotificationWaiter location_changed_waiter( + shell()->web_contents(), ui::kAXModeComplete, + ax::mojom::Event::kLocationChanged); +- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_PARENT, 0, 0); ++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_PARENT, 0, 0); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + + atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr, +@@ -1163,22 +1250,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + EXPECT_GT(prev_y, y); + + constexpr int kScrollToY = 0; +- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0, +- kScrollToY); ++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(kScrollToY, y); + + constexpr int kScrollToY_2 = 243; +- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0, +- kScrollToY_2); ++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY_2); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); + EXPECT_EQ(kScrollToY_2, y); + +- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129); ++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129); + ASSERT_TRUE(location_changed_waiter.WaitForNotification()); + atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr, + ATK_XY_SCREEN); +@@ -1194,6 +1279,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura + + g_object_unref(atk_text); + } ++#endif // defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + // Flaky on crbug.com/1026149 +diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc +--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100 ++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc 2025-02-17 17:13:30.972343990 +0100 +@@ -48,14 +48,33 @@ + #include "ui/accessibility/platform/child_iterator.h" + #include "ui/gfx/geometry/rect_conversions.h" + +-// Function availability can be tested by checking whether its address is not +-// nullptr. +-#define WEAK_ATK_FN(x) extern "C" __attribute__((weak)) decltype(x) x +- +-// TODO(https://crbug.com/40549424): This may be removed when support for +-// Ubuntu 18.04 is dropped. +-WEAK_ATK_FN(atk_component_scroll_to_point); +-WEAK_ATK_FN(atk_text_scroll_substring_to_point); ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 10, 0) ++#define ATK_210 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 12, 0) ++#define ATK_212 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 16, 0) ++#define ATK_216 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 26, 0) ++#define ATK_226 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0) ++#define ATK_230 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0) ++#define ATK_232 ++#endif ++ ++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 34, 0) ++#define ATK_234 ++#endif + + namespace ui { + +@@ -147,11 +166,29 @@ AtkObject* g_active_top_level_frame = nu + + AtkObject* g_active_views_dialog = nullptr; + ++#if defined(ATK_216) + constexpr AtkRole kStaticRole = ATK_ROLE_STATIC; + constexpr AtkRole kSubscriptRole = ATK_ROLE_SUBSCRIPT; + constexpr AtkRole kSuperscriptRole = ATK_ROLE_SUPERSCRIPT; ++#else ++constexpr AtkRole kStaticRole = ATK_ROLE_TEXT; ++constexpr AtkRole kSubscriptRole = ATK_ROLE_TEXT; ++constexpr AtkRole kSuperscriptRole = ATK_ROLE_TEXT; ++#endif + ++#if defined(ATK_226) + constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_FOOTNOTE; ++#else ++constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_LIST_ITEM; ++#endif ++ ++#if defined(ATK_234) ++constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_CONTENT_DELETION; ++constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_CONTENT_INSERTION; ++#else ++constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_SECTION; ++constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_SECTION; ++#endif + + using GetTypeFunc = GType (*)(); + using GetColumnHeaderCellsFunc = GPtrArray* (*)(AtkTableCell* cell); +@@ -162,6 +199,11 @@ using GetRowColumnSpanFunc = bool (*)(At + gint* row_span, + gint* col_span); + ++static GetTypeFunc g_atk_table_cell_get_type; ++static GetColumnHeaderCellsFunc g_atk_table_cell_get_column_header_cells; ++static GetRowHeaderCellsFunc g_atk_table_cell_get_row_header_cells; ++static GetRowColumnSpanFunc g_atk_table_cell_get_row_column_span; ++ + // The ATK API often requires pointers to be used as out arguments, while + // allowing for those pointers to be null if the caller is not interested in + // the value. This function is a simpler helper to avoid continually checking +@@ -171,35 +213,17 @@ void SetIntPointerValueIfNotNull(int* po + *pointer = value; + } + +-// TODO(https://crbug.com/40549424): This may be removed when support for +-// Ubuntu 18.04 is dropped. ++#if defined(ATK_230) + bool SupportsAtkComponentScrollingInterface() { +- return atk_component_scroll_to_point; ++ return dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point"); + } ++#endif + +-// TODO(https://crbug.com/40549424): This may be removed when support for +-// Ubuntu 18.04 is dropped. ++#if defined(ATK_232) + bool SupportsAtkTextScrollingInterface() { +- return atk_text_scroll_substring_to_point; +-} +- +-// TODO(https://crbug.com/40549424): This may be removed when support for +-// Ubuntu 18.04 is dropped. +-AtkRole GetAtkRoleContentDeletion() { +- base::Version atk_version(atk_get_version()); +- return atk_version.CompareTo(base::Version("2.34.0")) >= 0 +- ? ATK_ROLE_CONTENT_DELETION +- : ATK_ROLE_SECTION; +-} +- +-// TODO(https://crbug.com/40549424): This may be removed when support for +-// Ubuntu 18.04 is dropped. +-AtkRole GetAtkRoleContentInsertion() { +- base::Version atk_version(atk_get_version()); +- return atk_version.CompareTo(base::Version("2.34.0")) >= 0 +- ? ATK_ROLE_CONTENT_INSERTION +- : ATK_ROLE_SECTION; ++ return dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point"); + } ++#endif + + AtkObject* FindAtkObjectParentFrame(AtkObject* atk_object) { + AXPlatformNodeAuraLinux* node = +@@ -298,10 +322,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord + return AXCoordinateSystem::kScreenDIPs; + case ATK_XY_WINDOW: + return AXCoordinateSystem::kRootFrame; ++#if defined(ATK_230) + case ATK_XY_PARENT: + // AXCoordinateSystem does not support parent coordinates. + NOTIMPLEMENTED(); + return AXCoordinateSystem::kFrame; ++#endif + default: + return AXCoordinateSystem::kScreenDIPs; + } +@@ -514,6 +540,7 @@ gboolean GrabFocus(AtkComponent* atk_com + return obj->GrabFocus(); + } + ++#if defined(ATK_230) + gboolean ScrollTo(AtkComponent* atk_component, AtkScrollType scroll_type) { + g_return_val_if_fail(ATK_IS_COMPONENT(atk_component), FALSE); + +@@ -540,6 +567,7 @@ gboolean ScrollToPoint(AtkComponent* atk + obj->ScrollToPoint(atk_coord_type, x, y); + return TRUE; + } ++#endif + + void Init(AtkComponentIface* iface) { + iface->get_extents = GetExtents; +@@ -547,10 +575,12 @@ void Init(AtkComponentIface* iface) { + iface->get_size = GetSize; + iface->ref_accessible_at_point = RefAccesibleAtPoint; + iface->grab_focus = GrabFocus; ++#if defined(ATK_230) + if (SupportsAtkComponentScrollingInterface()) { + iface->scroll_to = ScrollTo; + iface->scroll_to_point = ScrollToPoint; + } ++#endif + } + + const GInterfaceInfo Info = {reinterpret_cast(Init), +@@ -1311,6 +1341,7 @@ gboolean AddSelection(AtkText* atk_text, + return SetSelection(atk_text, 0, start_offset, end_offset); + } + ++#if defined(ATK_210) + char* GetStringAtOffset(AtkText* atk_text, + int offset, + AtkTextGranularity atk_granularity, +@@ -1325,7 +1356,9 @@ char* GetStringAtOffset(AtkText* atk_tex + return GetTextWithBoundaryType(atk_text, offset, boundary, start_offset, + end_offset); + } ++#endif + ++#if defined(ATK_230) + gfx::Rect GetUnclippedParentHypertextRangeBoundsRect( + AXPlatformNodeDelegate* ax_platform_node_delegate, + const int start_offset, +@@ -1349,6 +1382,7 @@ gfx::Rect GetUnclippedParentHypertextRan + AXClippingBehavior::kClipped) + .OffsetFromOrigin(); + } ++#endif + + void GetCharacterExtents(AtkText* atk_text, + int offset, +@@ -1364,10 +1398,12 @@ void GetCharacterExtents(AtkText* atk_te + AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text)); + if (obj) { + switch (coordinate_type) { ++#if defined(ATK_230) + case ATK_XY_PARENT: + rect = GetUnclippedParentHypertextRangeBoundsRect(obj->GetDelegate(), + offset, offset + 1); + break; ++#endif + default: + rect = obj->GetDelegate()->GetHypertextRangeBoundsRect( + obj->UnicodeToUTF16OffsetInText(offset), +@@ -1403,10 +1439,12 @@ void GetRangeExtents(AtkText* atk_text, + AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text)); + if (obj) { + switch (coordinate_type) { ++#if defined(ATK_230) + case ATK_XY_PARENT: + rect = GetUnclippedParentHypertextRangeBoundsRect( + obj->GetDelegate(), start_offset, end_offset); + break; ++#endif + default: + rect = obj->GetDelegate()->GetHypertextRangeBoundsRect( + obj->UnicodeToUTF16OffsetInText(start_offset), +@@ -1456,6 +1494,7 @@ AtkAttributeSet* GetDefaultAttributes(At + return ToAtkAttributeSet(obj->GetDefaultTextAttributes()); + } + ++#if defined(ATK_232) + gboolean ScrollSubstringTo(AtkText* atk_text, + gint start_offset, + gint end_offset, +@@ -1486,6 +1525,7 @@ gboolean ScrollSubstringToPoint(AtkText* + return obj->ScrollSubstringToPoint(start_offset, end_offset, atk_coord_type, + x, y); + } ++#endif // ATK_232 + + void Init(AtkTextIface* iface) { + iface->get_text = GetText; +@@ -1508,12 +1548,16 @@ void Init(AtkTextIface* iface) { + iface->get_run_attributes = GetRunAttributes; + iface->get_default_attributes = GetDefaultAttributes; + ++#if defined(ATK_210) + iface->get_string_at_offset = GetStringAtOffset; ++#endif + ++#if defined(ATK_232) + if (SupportsAtkTextScrollingInterface()) { + iface->scroll_substring_to = ScrollSubstringTo; + iface->scroll_substring_to_point = ScrollSubstringToPoint; + } ++#endif + } + + const GInterfaceInfo Info = {reinterpret_cast(Init), +@@ -1916,11 +1960,15 @@ const GInterfaceInfo Info = {reinterpret + + } // namespace atk_table + ++// The ATK table cell interface was added in ATK 2.12. ++#if defined(ATK_212) ++ + namespace atk_table_cell { + + gint GetColumnSpan(AtkTableCell* cell) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0); + + if (const AXPlatformNodeBase* obj = + AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) { +@@ -1932,8 +1980,10 @@ gint GetColumnSpan(AtkTableCell* cell) { + } + + GPtrArray* GetColumnHeaderCells(AtkTableCell* cell) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), ++ nullptr); + + GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref); + +@@ -1967,8 +2017,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable + } + + gboolean GetCellPosition(AtkTableCell* cell, gint* row, gint* column) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), FALSE); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), ++ FALSE); + + if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) { + std::optional row_index = obj->GetTableRow(); +@@ -1985,8 +2037,9 @@ gboolean GetCellPosition(AtkTableCell* c + } + + gint GetRowSpan(AtkTableCell* cell) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0); + + if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) { + // If the object is not a cell, we return 0. +@@ -1997,8 +2050,10 @@ gint GetRowSpan(AtkTableCell* cell) { + } + + GPtrArray* GetRowHeaderCells(AtkTableCell* cell) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), ++ nullptr); + + GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref); + +@@ -2032,8 +2087,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel + } + + AtkObject* GetTable(AtkTableCell* cell) { ++ DCHECK(g_atk_table_cell_get_type); + g_return_val_if_fail( +- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr); ++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), ++ nullptr); + + if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) { + if (auto* table = obj->GetTable()) +@@ -2059,6 +2116,8 @@ const GInterfaceInfo Info = {reinterpret + + } // namespace atk_table_cell + ++#endif // ATK_212 ++ + namespace atk_object { + + gpointer kAXPlatformNodeAuraLinuxParentClass = nullptr; +@@ -2325,6 +2384,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec + + } // namespace + ++// static ++NO_SANITIZE("cfi-icall") ++GType AtkTableCellInterface::GetType() { ++ return g_atk_table_cell_get_type(); ++} ++ ++// static ++NO_SANITIZE("cfi-icall") ++GPtrArray* AtkTableCellInterface::GetColumnHeaderCells(AtkTableCell* cell) { ++ return g_atk_table_cell_get_column_header_cells(cell); ++} ++ ++// static ++NO_SANITIZE("cfi-icall") ++GPtrArray* AtkTableCellInterface::GetRowHeaderCells(AtkTableCell* cell) { ++ return g_atk_table_cell_get_row_header_cells(cell); ++} ++ ++// static ++NO_SANITIZE("cfi-icall") ++bool AtkTableCellInterface::GetRowColumnSpan(AtkTableCell* cell, ++ gint* row, ++ gint* column, ++ gint* row_span, ++ gint* col_span) { ++ return g_atk_table_cell_get_row_column_span(cell, row, column, row_span, ++ col_span); ++} ++ ++// static ++bool AtkTableCellInterface::Exists() { ++ g_atk_table_cell_get_type = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_type")); ++ g_atk_table_cell_get_column_header_cells = ++ reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_column_header_cells")); ++ g_atk_table_cell_get_row_header_cells = ++ reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_header_cells")); ++ g_atk_table_cell_get_row_column_span = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_column_span")); ++ return *g_atk_table_cell_get_type; ++} ++ + void AXPlatformNodeAuraLinux::EnsureGTypeInit() { + #if !GLIB_CHECK_VERSION(2, 36, 0) + static bool first_time = true; +@@ -2432,8 +2535,11 @@ GType AXPlatformNodeAuraLinux::GetAccess + g_type_add_interface_static(type, ATK_TYPE_TABLE, &atk_table::Info); + + if (interface_mask_.Implements(ImplementedAtkInterfaces::Value::kTableCell)) { +- g_type_add_interface_static(type, atk_table_cell_get_type(), +- &atk_table_cell::Info); ++ // Run-time check to ensure AtkTableCell is supported (requires ATK 2.12). ++ if (AtkTableCellInterface::Exists()) { ++ g_type_add_interface_static(type, AtkTableCellInterface::GetType(), ++ &atk_table_cell::Info); ++ } + } + + return type; +@@ -2668,9 +2774,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR + case ax::mojom::Role::kComplementary: + return ATK_ROLE_LANDMARK; + case ax::mojom::Role::kContentDeletion: +- return GetAtkRoleContentDeletion(); ++ return kAtkRoleContentDeletion; + case ax::mojom::Role::kContentInsertion: +- return GetAtkRoleContentInsertion(); ++ return kAtkRoleContentInsertion; + case ax::mojom::Role::kContentInfo: + case ax::mojom::Role::kFooter: + return ATK_ROLE_LANDMARK; +@@ -3106,12 +3212,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat + static_cast(ax::mojom::AriaCurrentState::kFalse)) { + atk_state_set_add_state(atk_state_set, ATK_STATE_ACTIVE); + } ++#if defined(ATK_216) + // Runtime checks in case we were compiled with a newer version of ATK. + if (IsPlatformCheckable() && PlatformSupportsState(ATK_STATE_CHECKABLE)) + atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKABLE); + if (HasIntAttribute(ax::mojom::IntAttribute::kHasPopup) && + PlatformSupportsState(ATK_STATE_HAS_POPUP)) + atk_state_set_add_state(atk_state_set, ATK_STATE_HAS_POPUP); ++#endif + if (GetBoolAttribute(ax::mojom::BoolAttribute::kBusy)) + atk_state_set_add_state(atk_state_set, ATK_STATE_BUSY); + if (GetBoolAttribute(ax::mojom::BoolAttribute::kModal)) +@@ -3150,9 +3258,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat + if (GetData().GetRestriction() != ax::mojom::Restriction::kDisabled) { + if (GetDelegate()->IsReadOnlySupported() && + GetDelegate()->IsReadOnlyOrDisabled()) { ++#if defined(ATK_216) + // Runtime check in case we were compiled with a newer version of ATK. + if (PlatformSupportsState(ATK_STATE_READ_ONLY)) + atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY); ++#endif + } else { + atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED); + atk_state_set_add_state(atk_state_set, ATK_STATE_SENSITIVE); +@@ -3186,12 +3296,16 @@ struct AtkIntListRelation { + static AtkIntListRelation kIntListRelations[] = { + {ax::mojom::IntListAttribute::kControlsIds, ATK_RELATION_CONTROLLER_FOR, + ATK_RELATION_CONTROLLED_BY}, ++#if defined(ATK_226) + {ax::mojom::IntListAttribute::kDetailsIds, ATK_RELATION_DETAILS, + ATK_RELATION_DETAILS_FOR}, ++#endif + {ax::mojom::IntListAttribute::kDescribedbyIds, ATK_RELATION_DESCRIBED_BY, + ATK_RELATION_DESCRIPTION_FOR}, ++#if defined(ATK_226) + {ax::mojom::IntListAttribute::kErrormessageIds, ATK_RELATION_ERROR_MESSAGE, + ATK_RELATION_ERROR_FOR}, ++#endif + {ax::mojom::IntListAttribute::kFlowtoIds, ATK_RELATION_FLOWS_TO, + ATK_RELATION_FLOWS_FROM}, + {ax::mojom::IntListAttribute::kLabelledbyIds, ATK_RELATION_LABELLED_BY, +@@ -3982,6 +4096,7 @@ void AXPlatformNodeAuraLinux::OnReadonly + if (!obj) + return; + ++#if defined(ATK_216) + // Runtime check in case we were compiled with a newer version of ATK. + if (!PlatformSupportsState(ATK_STATE_READ_ONLY)) + return; +@@ -3989,6 +4104,7 @@ void AXPlatformNodeAuraLinux::OnReadonly + atk_object_notify_state_change( + obj, ATK_STATE_READ_ONLY, + GetData().GetRestriction() == ax::mojom::Restriction::kReadOnly); ++#endif + } + + void AXPlatformNodeAuraLinux::OnInvalidStatusChanged() { +@@ -4315,11 +4431,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx + extents.Offset(window_origin); + break; + } ++#if defined(ATK_230) + case ATK_XY_PARENT: { + gfx::Vector2d parent_origin = -GetParentOriginInScreenCoordinates(); + extents.Offset(parent_origin); + break; + } ++#endif + } + + return extents; +@@ -4761,6 +4879,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe + return HasStringAttribute(ax::mojom::StringAttribute::kContainerLiveStatus); + } + ++#if defined(ATK_230) + void AXPlatformNodeAuraLinux::ScrollToPoint(AtkCoordType atk_coord_type, + int x, + int y) { +@@ -4833,7 +4952,9 @@ void AXPlatformNodeAuraLinux::ScrollNode + rect -= rect.OffsetFromOrigin(); + ScrollNodeRectIntoView(rect, atk_scroll_type); + } ++#endif // defined(ATK_230) + ++#if defined(ATK_232) + std::optional + AXPlatformNodeAuraLinux::GetUnclippedHypertextRangeBoundsRect(int start_offset, + int end_offset) { +@@ -4892,6 +5013,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs + + return true; + } ++#endif // defined(ATK_232) + + void AXPlatformNodeAuraLinux::ComputeStylesIfNeeded() { + if (!offset_to_text_attributes_.empty()) +@@ -5074,8 +5196,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv + switch (atk_coord_type) { + case ATK_XY_WINDOW: + return point + GetParentFrameOriginInScreenCoordinates(); ++#if defined(ATK_230) + case ATK_XY_PARENT: + return point + GetParentOriginInScreenCoordinates(); ++#endif + case ATK_XY_SCREEN: + default: + return point; +diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h +--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than 2025-02-12 02:31:02.000000000 +0100 ++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h 2025-02-17 17:13:30.973344015 +0100 +@@ -52,6 +52,31 @@ struct FindInPageResultInfo { + } + }; + ++// AtkTableCell was introduced in ATK 2.12. Ubuntu Trusty has ATK 2.10. ++// Compile-time checks are in place for ATK versions that are older than 2.12. ++// However, we also need runtime checks in case the version we are building ++// against is newer than the runtime version. To prevent a runtime error, we ++// check that we have a version of ATK that supports AtkTableCell. If we do, ++// we dynamically load the symbol; if we don't, the interface is absent from ++// the accessible object and its methods will not be exposed or callable. ++// The definitions below ensure we have no missing symbols. Note that in ++// environments where we have ATK > 2.12, the definitions of AtkTableCell and ++// AtkTableCellIface below are overridden by the runtime version. ++// TODO(accessibility) Remove AtkTableCellInterface when 2.12 is the minimum ++// supported version. ++struct COMPONENT_EXPORT(AX_PLATFORM) AtkTableCellInterface { ++ typedef struct _AtkTableCell AtkTableCell; ++ static GType GetType(); ++ static GPtrArray* GetColumnHeaderCells(AtkTableCell* cell); ++ static GPtrArray* GetRowHeaderCells(AtkTableCell* cell); ++ static bool GetRowColumnSpan(AtkTableCell* cell, ++ gint* row, ++ gint* column, ++ gint* row_span, ++ gint* col_span); ++ static bool Exists(); ++}; ++ + // This class with an enum is used to generate a bitmask which tracks the ATK + // interfaces that an AXPlatformNodeAuraLinux's ATKObject implements. + class ImplementedAtkInterfaces { +diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc +--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than 2025-02-12 02:31:02.000000000 +0100 ++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2025-02-17 17:13:30.973344015 +0100 +@@ -11,6 +11,7 @@ + + #include + ++#include + #include + #include + #include +@@ -887,6 +888,17 @@ typedef bool (*ScrollToPointFunc)(AtkCom + typedef bool (*ScrollToFunc)(AtkComponent* component, AtkScrollType type); + + TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollToPoint) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.30 instead of linking directly. ++ ScrollToPointFunc scroll_to_point = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point")); ++ if (!scroll_to_point) { ++ LOG(WARNING) << "Skipping AtkComponentScrollToPoint" ++ " because ATK version < 2.30 detected."; ++ return; ++ } ++ + AXNodeData root; + root.id = 1; + root.role = ax::mojom::Role::kRootWebArea; +@@ -914,8 +926,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC + EXPECT_EQ(10, width); + EXPECT_EQ(10, height); + +- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600, +- 650); ++ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600, 650); + atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width, + &height, ATK_XY_SCREEN); + EXPECT_EQ(610, x_left); +@@ -923,8 +934,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC + EXPECT_EQ(10, width); + EXPECT_EQ(10, height); + +- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10, +- 10); ++ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10, 10); + atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width, + &height, ATK_XY_SCREEN); + // The test wrapper scrolls every element when scrolling, so this should be +@@ -941,6 +951,17 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC + } + + TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollTo) { ++ // There's a chance we may be compiled with a newer version of ATK and then ++ // run with an older one, so we need to do a runtime check for this method ++ // that is available in ATK 2.30 instead of linking directly. ++ ScrollToFunc scroll_to = reinterpret_cast( ++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to")); ++ if (!scroll_to) { ++ LOG(WARNING) << "Skipping AtkComponentScrollTo" ++ " because ATK version < 2.30 detected."; ++ return; ++ } ++ + AXNodeData root; + root.id = 1; + root.role = ax::mojom::Role::kRootWebArea; +@@ -968,7 +989,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC + EXPECT_EQ(10, width); + EXPECT_EQ(10, height); + +- atk_component_scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE); ++ scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE); + atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width, + &height, ATK_XY_SCREEN); + EXPECT_EQ(0, x_left); +diff -up chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc +--- chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100 ++++ chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2025-02-17 17:13:30.974344040 +0100 +@@ -474,18 +474,34 @@ void AXTreeFormatterAuraLinux::AddTableC + int row = 0, col = 0, row_span = 0, col_span = 0; + int n_row_headers = 0, n_column_headers = 0; + +- AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST( +- (atk_object), atk_table_cell_get_type(), AtkTableCell); ++ // Properties obtained via AtkTableCell, if possible. If we do not have at ++ // least ATK 2.12, use the same logic in our AtkTableCell implementation so ++ // that tests can still be run. ++ if (AtkTableCellInterface::Exists()) { ++ AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST( ++ (atk_object), AtkTableCellInterface::GetType(), AtkTableCell); + +- atk_table_cell_get_row_column_span(cell, &row, &col, &row_span, &col_span); ++ AtkTableCellInterface::GetRowColumnSpan(cell, &row, &col, &row_span, ++ &col_span); + +- GPtrArray* column_headers = atk_table_cell_get_column_header_cells(cell); +- n_column_headers = column_headers->len; +- g_ptr_array_unref(column_headers); ++ GPtrArray* column_headers = ++ AtkTableCellInterface::GetColumnHeaderCells(cell); ++ n_column_headers = column_headers->len; ++ g_ptr_array_unref(column_headers); + +- GPtrArray* row_headers = atk_table_cell_get_row_header_cells(cell); +- n_row_headers = row_headers->len; +- g_ptr_array_unref(row_headers); ++ GPtrArray* row_headers = AtkTableCellInterface::GetRowHeaderCells(cell); ++ n_row_headers = row_headers->len; ++ g_ptr_array_unref(row_headers); ++ } else { ++ row = node->GetTableRow().value_or(-1); ++ col = node->GetTableColumn().value_or(-1); ++ row_span = node->GetTableRowSpan().value_or(0); ++ col_span = node->GetTableColumnSpan().value_or(0); ++ if (role == ATK_ROLE_TABLE_CELL) { ++ n_column_headers = node->GetDelegate()->GetColHeaderNodeIds(col).size(); ++ n_row_headers = node->GetDelegate()->GetRowHeaderNodeIds(row).size(); ++ } ++ } + + std::vector cell_info; + cell_info.push_back(base::StringPrintf("row=%i", row)); diff --git a/chromium-134-type-mismatch-error.patch b/chromium-134-type-mismatch-error.patch new file mode 100644 index 0000000..19d263c --- /dev/null +++ b/chromium-134-type-mismatch-error.patch @@ -0,0 +1,13 @@ +diff -up chromium-134.0.6998.23/base/containers/to_value_list.h.me chromium-134.0.6998.23/base/containers/to_value_list.h +--- chromium-134.0.6998.23/base/containers/to_value_list.h.me 2025-02-23 22:39:33.369668072 +0100 ++++ chromium-134.0.6998.23/base/containers/to_value_list.h 2025-02-23 22:42:42.653990901 +0100 +@@ -36,8 +36,7 @@ Value::List ToValueList(Range&& range, P + auto container = Value::List::with_capacity(std::ranges::size(range)); + std::ranges::for_each( + std::forward(range), +- [&](T&& value) { container.Append(std::forward(value)); }, +- std::move(proj)); ++ [&](auto&& value) { container.Append(std::invoke(proj, std::forward(value))); }); + return container; + } + diff --git a/chromium-136-checkversion-nodejs.patch b/chromium-136-checkversion-nodejs.patch new file mode 100644 index 0000000..58cc6d8 --- /dev/null +++ b/chromium-136-checkversion-nodejs.patch @@ -0,0 +1,20 @@ +diff -up chromium-136.0.7103.33/third_party/node/node.gni.than chromium-136.0.7103.33/third_party/node/node.gni +--- chromium-136.0.7103.33/third_party/node/node.gni.than 2025-04-21 17:53:06.742517984 +0200 ++++ chromium-136.0.7103.33/third_party/node/node.gni 2025-04-21 17:54:05.452645652 +0200 +@@ -35,16 +35,5 @@ template("node") { + inputs += [ "//third_party/node/mac/node-darwin-x64/bin/node" ] + } + } +- +- # Automatically add a dependency to ":check_version" to ensure NodeJS is +- # always running the expected version, except when the ':check_version' +- # target itself is running in which case it shouldn't depend on itself. +- if (get_label_info(":" + target_name, "label_no_toolchain") != +- "//third_party/node:check_version") { +- if (!defined(deps)) { +- deps = [] +- } +- deps += [ "//third_party/node:check_version" ] +- } + } + } diff --git a/chromium-136-rust-skrifa-build-error.patch b/chromium-136-rust-skrifa-build-error.patch new file mode 100644 index 0000000..4170eec --- /dev/null +++ b/chromium-136-rust-skrifa-build-error.patch @@ -0,0 +1,12 @@ +diff -up chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs +--- chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than 2025-04-29 08:36:33.385071420 +0200 ++++ chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs 2025-04-29 08:42:21.465525421 +0200 +@@ -94,7 +94,7 @@ impl<'a> GlyphNames<'a> { + _ => None, + }; + // If name is empty string, synthesize it +- if name.as_ref().is_none_or(|s| s.is_empty()) { ++ if name.is_none() || name.as_ref().map_or(false, |s| s.is_empty()) { + return Some(GlyphName::synthesize(glyph_id)); + } + Some(name.unwrap_or_else(|| GlyphName::synthesize(glyph_id))) diff --git a/chromium-136-unsupport-clang-flags.patch b/chromium-136-unsupport-clang-flags.patch new file mode 100644 index 0000000..a004cb0 --- /dev/null +++ b/chromium-136-unsupport-clang-flags.patch @@ -0,0 +1,17 @@ +diff -up chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than chromium-136.0.7103.48/build/config/compiler/BUILD.gn +--- chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than 2025-04-28 15:44:08.883499599 +0200 ++++ chromium-136.0.7103.48/build/config/compiler/BUILD.gn 2025-04-28 15:44:47.624639772 +0200 +@@ -622,12 +622,6 @@ config("compiler") { + cflags += [ "-ffp-contract=off" ] + } + +- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF +- # (excluding toolchains that use an older version of LLVM). +- if (is_linux && !llvm_android_mainline && +- default_toolchain != "//build/toolchain/cros:target") { +- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] +- } + } + + # C11/C++11 compiler flags setup. +diff -up chromium-136.0.7103.48/tools/licenses/licenses.py.than chromium-136.0.7103.48/tools/licenses/licenses.py diff --git a/chromium-138-checkversion-nodejs.patch b/chromium-138-checkversion-nodejs.patch new file mode 100644 index 0000000..db389a7 --- /dev/null +++ b/chromium-138-checkversion-nodejs.patch @@ -0,0 +1,23 @@ +diff -up chromium-138.0.7204.15/third_party/node/node.gni.me chromium-138.0.7204.15/third_party/node/node.gni +--- chromium-138.0.7204.15/third_party/node/node.gni.me 2025-06-03 23:20:09.000000000 +0200 ++++ chromium-138.0.7204.15/third_party/node/node.gni 2025-06-09 09:59:21.788545159 +0200 +@@ -44,7 +44,6 @@ template("node") { + if (!defined(deps)) { + deps = [] + } +- deps += [ "//third_party/node:check_version" ] + } + } + } +diff -up chromium-138.0.7204.15/third_party/node/BUILD.gn.me chromium-138.0.7204.15/third_party/node/BUILD.gn +diff -up chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me chromium-138.0.7204.15/third_party/protobuf/proto_library.gni +--- chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me 2025-06-09 11:33:08.279645775 +0200 ++++ chromium-138.0.7204.15/third_party/protobuf/proto_library.gni 2025-06-09 12:10:07.040045476 +0200 +@@ -562,7 +562,6 @@ template("proto_library") { + _protoc_gen_ts_path, + "//tools/protoc_wrapper/protoc-gen-ts_proto.py", + ] + _protoc_gen_ts_runtime_deps +- deps += [ "//third_party/node:check_version" ] + } + + if (_generate_with_plugin) { diff --git a/chromium-138-el9-ffmpeg-deprecated-apis.patch b/chromium-138-el9-ffmpeg-deprecated-apis.patch new file mode 100644 index 0000000..b8d0a85 --- /dev/null +++ b/chromium-138-el9-ffmpeg-deprecated-apis.patch @@ -0,0 +1,158 @@ +https://chromium-review.googlesource.com/c/chromium/src/+/6506529 + +Revert CL rolls ffmpeg for M138 as it breaks the build due to old ffmpeg version on EL9 + +diff -up chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc +--- chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me 2025-06-23 23:34:26.000000000 +0200 ++++ chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc 2025-06-25 15:13:17.958054182 +0200 +@@ -263,22 +263,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec + static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) { + // Clear out the CONSTRAINED & INTRA flags which are strict subsets of the + // corresponding profiles with which they're used. +- profile &= ~AV_PROFILE_H264_CONSTRAINED; +- profile &= ~AV_PROFILE_H264_INTRA; ++ profile &= ~FF_PROFILE_H264_CONSTRAINED; ++ profile &= ~FF_PROFILE_H264_INTRA; + switch (profile) { +- case AV_PROFILE_H264_BASELINE: ++ case FF_PROFILE_H264_BASELINE: + return H264PROFILE_BASELINE; +- case AV_PROFILE_H264_MAIN: ++ case FF_PROFILE_H264_MAIN: + return H264PROFILE_MAIN; +- case AV_PROFILE_H264_EXTENDED: ++ case FF_PROFILE_H264_EXTENDED: + return H264PROFILE_EXTENDED; +- case AV_PROFILE_H264_HIGH: ++ case FF_PROFILE_H264_HIGH: + return H264PROFILE_HIGH; +- case AV_PROFILE_H264_HIGH_10: ++ case FF_PROFILE_H264_HIGH_10: + return H264PROFILE_HIGH10PROFILE; +- case AV_PROFILE_H264_HIGH_422: ++ case FF_PROFILE_H264_HIGH_422: + return H264PROFILE_HIGH422PROFILE; +- case AV_PROFILE_H264_HIGH_444_PREDICTIVE: ++ case FF_PROFILE_H264_HIGH_444_PREDICTIVE: + return H264PROFILE_HIGH444PREDICTIVEPROFILE; + default: + DVLOG(1) << "Unknown profile id: " << profile; +@@ -289,23 +289,23 @@ static VideoCodecProfile ProfileIDToVide + static int VideoCodecProfileToProfileID(VideoCodecProfile profile) { + switch (profile) { + case H264PROFILE_BASELINE: +- return AV_PROFILE_H264_BASELINE; ++ return FF_PROFILE_H264_BASELINE; + case H264PROFILE_MAIN: +- return AV_PROFILE_H264_MAIN; ++ return FF_PROFILE_H264_MAIN; + case H264PROFILE_EXTENDED: +- return AV_PROFILE_H264_EXTENDED; ++ return FF_PROFILE_H264_EXTENDED; + case H264PROFILE_HIGH: +- return AV_PROFILE_H264_HIGH; ++ return FF_PROFILE_H264_HIGH; + case H264PROFILE_HIGH10PROFILE: +- return AV_PROFILE_H264_HIGH_10; ++ return FF_PROFILE_H264_HIGH_10; + case H264PROFILE_HIGH422PROFILE: +- return AV_PROFILE_H264_HIGH_422; ++ return FF_PROFILE_H264_HIGH_422; + case H264PROFILE_HIGH444PREDICTIVEPROFILE: +- return AV_PROFILE_H264_HIGH_444_PREDICTIVE; ++ return FF_PROFILE_H264_HIGH_444_PREDICTIVE; + default: + DVLOG(1) << "Unknown VideoCodecProfile: " << profile; + } +- return AV_PROFILE_UNKNOWN; ++ return FF_PROFILE_UNKNOWN; + } + + SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format, +@@ -441,7 +441,7 @@ bool AVCodecContextToAudioDecoderConfig( + // TODO(dalecurtis): Just use the profile from the codec context if ffmpeg + // ever starts supporting xHE-AAC. + // FFmpeg provides the (defined_profile - 1) for AVCodecContext::profile +- if (codec_context->profile == AV_PROFILE_UNKNOWN || ++ if (codec_context->profile == FF_PROFILE_UNKNOWN || + codec_context->profile == mp4::AAC::kXHeAAcType - 1) { + // Errors aren't fatal here, so just drop any MediaLog messages. + NullMediaLog media_log; +@@ -659,16 +659,16 @@ bool AVStreamToVideoDecoderConfig(const + break; + case VideoCodec::kVP9: + switch (codec_context->profile) { +- case AV_PROFILE_VP9_0: ++ case FF_PROFILE_VP9_0: + profile = VP9PROFILE_PROFILE0; + break; +- case AV_PROFILE_VP9_1: ++ case FF_PROFILE_VP9_1: + profile = VP9PROFILE_PROFILE1; + break; +- case AV_PROFILE_VP9_2: ++ case FF_PROFILE_VP9_2: + profile = VP9PROFILE_PROFILE2; + break; +- case AV_PROFILE_VP9_3: ++ case FF_PROFILE_VP9_3: + profile = VP9PROFILE_PROFILE3; + break; + default: +diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc +--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me 2025-06-23 23:34:26.000000000 +0200 ++++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc 2025-06-25 15:13:17.958541707 +0200 +@@ -68,17 +68,17 @@ bool GenerateAdtsHeader(int codec, + hdr[1] |= 1; + + switch (audio_profile) { +- case AV_PROFILE_AAC_MAIN: ++ case FF_PROFILE_AAC_MAIN: + break; +- case AV_PROFILE_AAC_HE: +- case AV_PROFILE_AAC_HE_V2: +- case AV_PROFILE_AAC_LOW: ++ case FF_PROFILE_AAC_HE: ++ case FF_PROFILE_AAC_HE_V2: ++ case FF_PROFILE_AAC_LOW: + hdr[2] |= (1 << 6); + break; +- case AV_PROFILE_AAC_SSR: ++ case FF_PROFILE_AAC_SSR: + hdr[2] |= (2 << 6); + break; +- case AV_PROFILE_AAC_LTP: ++ case FF_PROFILE_AAC_LTP: + hdr[2] |= (3 << 6); + break; + default: +diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc +--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me 2025-06-23 23:34:26.000000000 +0200 ++++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc 2025-06-25 15:13:17.958839001 +0200 +@@ -41,7 +41,7 @@ class FFmpegAACBitstreamConverterTest : + // Set up reasonable aac parameters + memset(&test_parameters_, 0, sizeof(AVCodecParameters)); + test_parameters_.codec_id = AV_CODEC_ID_AAC; +- test_parameters_.profile = AV_PROFILE_AAC_MAIN; ++ test_parameters_.profile = FF_PROFILE_AAC_MAIN; + test_parameters_.ch_layout.nb_channels = 2; + test_parameters_.extradata = extradata_header_; + test_parameters_.extradata_size = sizeof(extradata_header_); +@@ -131,7 +131,7 @@ TEST_F(FFmpegAACBitstreamConverterTest, + + EXPECT_EQ(profile, kAacMainProfile); + +- test_parameters_.profile = AV_PROFILE_AAC_HE; ++ test_parameters_.profile = FF_PROFILE_AAC_HE; + FFmpegAACBitstreamConverter converter_he(&test_parameters_); + + test_packet = ScopedAVPacket::Allocate(); +@@ -143,7 +143,7 @@ TEST_F(FFmpegAACBitstreamConverterTest, + + EXPECT_EQ(profile, kAacLowComplexityProfile); + +- test_parameters_.profile = AV_PROFILE_AAC_ELD; ++ test_parameters_.profile = FF_PROFILE_AAC_ELD; + FFmpegAACBitstreamConverter converter_eld(&test_parameters_); + + test_packet = ScopedAVPacket::Allocate(); diff --git a/chromium-139-rust-FTBFS-suppress-warnings.patch b/chromium-139-rust-FTBFS-suppress-warnings.patch new file mode 100644 index 0000000..dc12ce7 --- /dev/null +++ b/chromium-139-rust-FTBFS-suppress-warnings.patch @@ -0,0 +1,13 @@ +diff -up chromium-139.0.7258.127/build/rust/cargo_crate.gni.than chromium-139.0.7258.127/build/rust/cargo_crate.gni +--- chromium-139.0.7258.127/build/rust/cargo_crate.gni.than 2025-08-14 09:44:51.783560032 +0200 ++++ chromium-139.0.7258.127/build/rust/cargo_crate.gni 2025-08-14 09:48:37.407051268 +0200 +@@ -310,6 +310,9 @@ template("cargo_crate") { + rustflags += + [ "-Awarnings" ] # Suppress other warnings in 3rd-party crates. + ++ rustflags += ++ [ "--cap-lints=warn" ] # Suppress other warnings, causes FTBFS in Fedora build rhbz#2387446 ++ + if (!defined(build_native_rust_unit_tests)) { + build_native_rust_unit_tests = _crate_type != "proc-macro" + } diff --git a/chromium-141-csss_style_sheet.patch b/chromium-141-csss_style_sheet.patch new file mode 100644 index 0000000..fac8ede --- /dev/null +++ b/chromium-141-csss_style_sheet.patch @@ -0,0 +1,16 @@ +Fix ftbfs + +v8/include/cppgc/visitor.h:440:19: error: invalid application of 'sizeof' to an incomplete type 'blink::CSSStyleSheet' + 440 | static_assert(sizeof(T), "Pointee type must be fully defined."); + +diff -up chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py +--- chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet 2025-09-23 22:21:14.000000000 +0200 ++++ chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py 2025-10-01 17:55:51.303926035 +0200 +@@ -433,6 +433,7 @@ def generate_observable_array(observable + header_node.accumulator.add_include_headers([ + component_export_header(api_component, for_testing), + "third_party/blink/renderer/bindings/core/v8/idl_types.h", ++ "third_party/blink/renderer/core/css/css_style_sheet.h", + "third_party/blink/renderer/platform/bindings/observable_array.h", + ]) + source_node.accumulator.add_include_headers([ diff --git a/chromium-141-glibc-2.42-SYS_SECCOMP.patch b/chromium-141-glibc-2.42-SYS_SECCOMP.patch new file mode 100644 index 0000000..0288cb2 --- /dev/null +++ b/chromium-141-glibc-2.42-SYS_SECCOMP.patch @@ -0,0 +1,29 @@ +Fix FTBFS + +/usr/include/bits/siginfo-consts.h:219:3: error: expected identifier + 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ + | ^ +../../sandbox/linux/system_headers/linux_seccomp.h:220:39: note: expanded from macro 'SYS_SECCOMP' + 220 | #define SYS_SECCOMP 1 + | ^ +../../sandbox/linux/seccomp-bpf/trap.cc:159:46: error: use of undeclared identifier 'SYS_SECCOMP' + 159 | if (nr != LINUX_SIGSYS || info->si_code != SYS_SECCOMP || !ctx || + | ^~~~~~~~~~~ +/usr/include/bits/siginfo-consts.h:220:23: note: expanded from macro 'SYS_SECCOMP' + 220 | # define SYS_SECCOMP SYS_SECCOMP + +diff -up chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h +--- chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me 2025-10-28 10:05:44.970248151 +0100 ++++ chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h 2025-10-28 10:05:52.291345772 +0100 +@@ -214,8 +214,11 @@ struct seccomp_notif_addfd { + #define SECCOMP_RET_INVALID 0x00010000U // Illegal return value + #endif + ++// check glibc version < 2.42 ++#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 42) + #ifndef SYS_SECCOMP + #define SYS_SECCOMP 1 + #endif ++#endif + + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_ diff --git a/chromium-141-use_libcxx_modules.patch b/chromium-141-use_libcxx_modules.patch new file mode 100644 index 0000000..919fb35 --- /dev/null +++ b/chromium-141-use_libcxx_modules.patch @@ -0,0 +1,28 @@ +Fix FTBFS + +../../build/modules/linux-x64/module.modulemap:11:12: error: header '../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h' not found + 11 | header "../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h" + | ^ +1 error generated + +diff -up chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me chromium-141.0.7390.37/build/config/BUILDCONFIG.gn +--- chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me 2025-10-01 17:39:47.242174153 +0200 ++++ chromium-141.0.7390.37/build/config/BUILDCONFIG.gn 2025-10-01 17:49:54.736578295 +0200 +@@ -557,6 +557,8 @@ foreach(_target_type, + ]) { + template(_target_type) { + target(_target_type, target_name) { ++ use_libcxx_modules = false ++ + forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY) + forward_variables_from(invoker, TESTONLY_AND_VISIBILITY) + if (!defined(inputs)) { +@@ -660,6 +662,8 @@ foreach(_target_type, + # TODO(crbug.com/326584510): Reclient doesn't respect this variable, see + # rbe_bug_326584510_missing_inputs in //build/config/clang/clang.gni + _uses_cflags = false ++ use_libcxx_modules = false ++ + if (defined(sources)) { + foreach(f, sources) { + if (string_replace(f + ".END", ".cc.END", "") != f + ".END" || diff --git a/chromium-142-clang++-unknown-argument.patch b/chromium-142-clang++-unknown-argument.patch new file mode 100644 index 0000000..def6e25 --- /dev/null +++ b/chromium-142-clang++-unknown-argument.patch @@ -0,0 +1,13 @@ +diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument chromium-142.0.7444.52/build/config/compiler/BUILD.gn +--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument 2025-10-28 19:41:59.131433882 +0100 ++++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:42:51.792779638 +0100 +@@ -2160,9 +2160,6 @@ config("default_warnings") { + # TODO(crbug.com/40284799): Fix and re-enable. + "-Wno-thread-safety-reference-return", + +- # TODO(crbug.com/376641662): Fix and re-enable. +- "-Wno-nontrivial-memcall", +- + # TODO(crbug.com/432275627): Fix and re-enable. + "-Wno-uninitialized-const-pointer", + ] diff --git a/chromium-142-crabbyavif-ftbfs-old-rust.patch b/chromium-142-crabbyavif-ftbfs-old-rust.patch new file mode 100644 index 0000000..5f72fe1 --- /dev/null +++ b/chromium-142-crabbyavif-ftbfs-old-rust.patch @@ -0,0 +1,24 @@ +Workaround for FTBFS + +error: cannot find attribute `sanitize` in this scope + --> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41 + | +210 | #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] + +diff -up chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn +--- chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me 2025-10-27 10:40:59.373768499 +0100 ++++ chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn 2025-10-27 10:45:12.142749942 +0100 +@@ -197,12 +197,11 @@ rust_static_library("crabbyavif") { + "dav1d", + "libyuv", + "capi", +- "disable_cfi", + ] + + # Required for disable_cfi feature. + configs -= [ "//build/config/compiler:disallow_unstable_features" ] +- rustflags = [ "-Zallow-features=sanitize" ] ++ rustflags = [ "-Zallow-features=no_sanitize" ] + + public_deps = [ ":header_files" ] + deps = [ diff --git a/chromium-142-el9-ffmpeg-5.1.x.patch b/chromium-142-el9-ffmpeg-5.1.x.patch new file mode 100644 index 0000000..fe526f7 --- /dev/null +++ b/chromium-142-el9-ffmpeg-5.1.x.patch @@ -0,0 +1,136 @@ +diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc +--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x 2025-11-01 22:14:10.116779876 +0100 ++++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc 2025-11-01 22:14:10.134140132 +0100 +@@ -800,8 +803,13 @@ bool AVStreamToVideoDecoderConfig(const + } + + VideoTransformation video_transformation = VideoTransformation(); ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ for (int i = 0; i < stream->nb_side_data; i++) { ++ const auto& side_data = stream->side_data[i]; ++#else + for (const auto& side_data : + AVCodecParametersCodedSideToSpan(stream->codecpar)) { ++#endif + switch (side_data.type) { + case AV_PKT_DATA_DISPLAYMATRIX: { + CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3); +diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h +--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200 ++++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h 2025-11-02 08:06:48.997329630 +0100 +@@ -111,9 +111,13 @@ inline base::span AVCo + // https://ffmpeg.org/doxygen/trunk/structAVCodecParameters.html#a29643cfd94231e2d148a5d17b08d115b + // ffmpeg documentation: `nb_coded_side_data` is the amount of entries in + // `coded_side_data`. ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 102) + return UNSAFE_BUFFERS( + base::span(codecpar->coded_side_data, + base::checked_cast(codecpar->nb_coded_side_data))); ++#else ++ return base::span(); ++#endif + } + + // Converts an int64_t timestamp in |time_base| units to a base::TimeDelta. +diff -up chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc +--- chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200 ++++ chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc 2025-11-01 22:14:10.124748634 +0100 +@@ -109,17 +109,33 @@ bool AudioVideoMetadataExtractor::Extrac + container_info.type = format_context->iformat->name; + ExtractDictionary(format_context->metadata, &container_info.tags); + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ for (unsigned int i = 0; i < format_context->nb_streams; ++i) { ++ stream_infos_.push_back(StreamInfo()); ++#else + base::span format_context_span = + AVFormatContextToSpan(format_context); + std::ranges::for_each(format_context_span, [&](AVStream* stream) { + stream_infos_.emplace_back(); ++#endif + StreamInfo& info = stream_infos_.back(); + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ AVStream* stream = format_context->streams[i]; ++ if (!stream) ++ continue; ++#else + if (!stream) { + return; + } ++#endif + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ for (int j = 0; j < stream->nb_side_data; j++) { ++ const AVPacketSideData& sd = stream->side_data[j]; ++#else + for (const auto& sd : AVCodecParametersCodedSideToSpan(stream->codecpar)) { ++#endif + if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) { + CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3); + rotation_ = VideoTransformation::FromFFmpegDisplayMatrix( +@@ -135,7 +151,11 @@ bool AudioVideoMetadataExtractor::Extrac + ExtractDictionary(stream->metadata, &info.tags); + + if (!stream->codecpar) { ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ continue; ++#else + return; ++#endif + } + + info.type = avcodec_get_name(stream->codecpar->codec_id); +@@ -158,7 +178,11 @@ bool AudioVideoMetadataExtractor::Extrac + reinterpret_cast(stream->attached_pic.data), + stream->attached_pic.size); + } ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ } ++#else + }); ++#endif + + extracted_ = true; + return true; +diff -up chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/media_file_checker.cc +--- chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200 ++++ chromium-142.0.7444.59/media/filters/media_file_checker.cc 2025-11-01 22:14:10.125099595 +0100 +@@ -64,6 +64,10 @@ bool MediaFileChecker::Start(base::TimeD + // Remember the codec context for any decodable audio or video streams. + bool found_streams = false; + std::vector stream_contexts(format_context->nb_streams); ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ for (size_t i = 0; i < format_context->nb_streams; ++i) { ++ AVCodecParameters* cp = format_context->streams[i]->codecpar; ++#else + base::span format_context_span = + AVFormatContextToSpan(format_context); + std::ranges::transform( +@@ -85,9 +89,26 @@ bool MediaFileChecker::Start(base::TimeD + } + } + ++#endif ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) ++ if (cp->codec_type == AVMEDIA_TYPE_AUDIO || ++ cp->codec_type == AVMEDIA_TYPE_VIDEO) { ++ auto context = AVStreamToAVCodecContext(format_context->streams[i]); ++ if (!context) ++ continue; ++ const AVCodec* codec = avcodec_find_decoder(cp->codec_id); ++ if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) { ++ auto loop = std::make_unique(context.get()); ++ stream_contexts[i] = {std::move(context), std::move(loop)}; ++ found_streams = true; ++ } ++ } ++ } ++#else + return Decoder{}; + }); + ++#endif + if (!found_streams) + return false; + diff --git a/chromium-107-ffmpeg-5.x-duration.patch b/chromium-142-el9-ffmpeg-5.x-duration.patch similarity index 56% rename from chromium-107-ffmpeg-5.x-duration.patch rename to chromium-142-el9-ffmpeg-5.x-duration.patch index ee01cd9..8b42cb2 100644 --- a/chromium-107-ffmpeg-5.x-duration.patch +++ b/chromium-142-el9-ffmpeg-5.x-duration.patch @@ -1,14 +1,16 @@ -diff -up chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me chromium-107.0.5304.121/media/filters/audio_file_reader.cc ---- chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me 2022-12-17 08:27:12.204753071 +0100 -+++ chromium-107.0.5304.121/media/filters/audio_file_reader.cc 2022-12-17 08:28:40.908211808 +0100 -@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame( +Fix FTBFS on EL9 due to old ffmpeg-5.x + +diff -up chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc +--- chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me 2025-11-02 08:20:16.949092776 +0100 ++++ chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc 2025-11-02 08:22:01.331132435 +0100 +@@ -273,10 +273,10 @@ bool LegacyAudioFileReader::OnNewFrame( // silence from being output. In the case where we are also discarding some // portion of the packet (as indicated by a negative pts), we further want to // adjust the duration downward by however much exists before zero. - if (audio_codec_ == AudioCodec::kAAC && frame->duration) { + if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) { const base::TimeDelta pkt_duration = ConvertFromTimeBase( - glue_->format_context()->streams[stream_index_]->time_base, + UNSAFE_TODO(glue_->format_context()->streams[stream_index_])->time_base, - frame->duration + std::min(static_cast(0), frame->pts)); + frame->pkt_duration + std::min(static_cast(0), frame->pts)); const base::TimeDelta frame_duration = diff --git a/chromium-142-missing-include-for-form_field_data.patch b/chromium-142-missing-include-for-form_field_data.patch new file mode 100644 index 0000000..2fcdbb5 --- /dev/null +++ b/chromium-142-missing-include-for-form_field_data.patch @@ -0,0 +1,32 @@ +commit 069d424e41f42c6f4a4551334eafc7cfaed6e880 +Author: Nathan Pratta Teodosio +Date: Mon Oct 13 02:29:29 2025 -0700 + + Add missing include for FormFieldData type completeness. + + Bug: 450752866 + Change-Id: I25b2d6cd627063e006014289de68d2ecc70a2db7 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7030724 + Reviewed-by: Christoph Schwering + Reviewed-by: Jihad Hanna + Commit-Queue: Jihad Hanna + Reviewed-by: Matthias Körber + Cr-Commit-Position: refs/heads/main@{#1528799} + +diff --git a/components/autofill/core/browser/form_parsing/autofill_scanner.h b/components/autofill/core/browser/form_parsing/autofill_scanner.h +index 844526a5f77..eab073266e8 100644 +--- a/components/autofill/core/browser/form_parsing/autofill_scanner.h ++++ b/components/autofill/core/browser/form_parsing/autofill_scanner.h +@@ -10,11 +10,10 @@ + #include "base/compiler_specific.h" + #include "base/containers/span.h" + #include "base/memory/raw_span.h" ++#include "components/autofill/core/common/form_field_data.h" + + namespace autofill { + +-class FormFieldData; +- + // A helper class for parsing a stream of |FormFieldData|'s with lookahead. + class AutofillScanner { + private: diff --git a/chromium-142-split-threshold-for-reg-with-hint.patch b/chromium-142-split-threshold-for-reg-with-hint.patch new file mode 100644 index 0000000..8caaf42 --- /dev/null +++ b/chromium-142-split-threshold-for-reg-with-hint.patch @@ -0,0 +1,26 @@ +diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint chromium-142.0.7444.52/build/config/compiler/BUILD.gn +--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint 2025-10-28 19:31:53.885979941 +0100 ++++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:39:50.279574752 +0100 +@@ -680,22 +680,6 @@ config("compiler") { + } + } + +- # TODO(crbug.com/40283598): This causes binary size growth and potentially +- # other problems. +- if (default_toolchain != "//build/toolchain/cros:target") { +- cflags += [ +- "-mllvm", +- "-split-threshold-for-reg-with-hint=0", +- ] +- if (use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] +- } +- } +- } +- + # TODO(crbug.com/40192287): Investigate why/if this should be needed. + if (is_win) { + cflags += [ "/clang:-ffp-contract=off" ] diff --git a/chromium-142-system-brotli.patch b/chromium-142-system-brotli.patch new file mode 100644 index 0000000..c1ccfb8 --- /dev/null +++ b/chromium-142-system-brotli.patch @@ -0,0 +1,38 @@ +diff -up chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli chromium-142.0.7444.52/net/filter/brotli_source_stream.cc +--- chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200 ++++ chromium-142.0.7444.52/net/filter/brotli_source_stream.cc 2025-10-26 16:55:51.220605842 +0100 +@@ -14,8 +14,8 @@ + #include "base/metrics/histogram_macros.h" + #include "net/base/io_buffer.h" + #include "net/filter/source_stream_type.h" +-#include "third_party/brotli/include/brotli/decode.h" +-#include "third_party/brotli/include/brotli/shared_dictionary.h" ++#include ++#include + + namespace net { + +diff -up chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli chromium-142.0.7444.52/net/ssl/cert_compression.cc +--- chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200 ++++ chromium-142.0.7444.52/net/ssl/cert_compression.cc 2025-10-26 16:55:51.220845216 +0100 +@@ -9,7 +9,7 @@ + #include "third_party/boringssl/src/include/openssl/ssl.h" + + #if !defined(NET_DISABLE_BROTLI) +-#include "third_party/brotli/include/brotli/decode.h" ++#include + #endif + + namespace net { +diff -up chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc +--- chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200 ++++ chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc 2025-10-26 17:04:17.085726059 +0100 +@@ -37,7 +37,7 @@ + #include "build/build_config.h" + #include "net/filter/gzip_header.h" + #include "skia/ext/image_operations.h" +-#include "third_party/brotli/include/brotli/decode.h" ++#include + #include "third_party/skia/include/codec/SkPngRustDecoder.h" + #include "third_party/skia/include/core/SkBitmap.h" + #include "third_party/skia/include/core/SkColor.h" diff --git a/chromium-143-autodarkmode-workaround.patch b/chromium-143-autodarkmode-workaround.patch new file mode 100644 index 0000000..5bd4f87 --- /dev/null +++ b/chromium-143-autodarkmode-workaround.patch @@ -0,0 +1,26 @@ +Workaround auto darkmode issue, image are not inverted correctly in darkmode + +diff -up chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc +--- chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than 2025-12-09 12:28:52.592092242 +0100 ++++ chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc 2025-12-09 12:42:57.776716951 +0100 +@@ -276,16 +276,20 @@ DarkModeResult DarkModeImageClassifier:: + float high_color_count_threshold = + kHighColorCountThreshold[features.is_colorful]; + ++#if 0 + // Very few colors means it's not a photo, apply the filter. + if (features.color_buckets_ratio < low_color_count_threshold) + return DarkModeResult::kApplyFilter; ++#endif + + // Too many colors means it's probably photorealistic, do not apply it. + if (features.color_buckets_ratio > high_color_count_threshold) + return DarkModeResult::kDoNotApplyFilter; + ++#if 0 + // In-between, decision tree cannot give a precise result. + return DarkModeResult::kNotClassified; ++#endif + } + + } // namespace blink diff --git a/chromium-143-el9-rust-no-alloc-shim-is-unstable.patch b/chromium-143-el9-rust-no-alloc-shim-is-unstable.patch new file mode 100644 index 0000000..4154fb0 --- /dev/null +++ b/chromium-143-el9-rust-no-alloc-shim-is-unstable.patch @@ -0,0 +1,22 @@ +Fix build errors: + +error[E0428]: the name `__rust_alloc_error_handler_should_panic_v2` is defined multiple times + --> ../../build/rust/allocator/lib.rs:101:5 + +error: undefined symbol: __rust_no_alloc_shim_is_unstable + +diff -up chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable chromium-141.0.7390.37/build/rust/allocator/lib.rs +--- chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable 2025-09-23 22:21:14.000000000 +0200 ++++ chromium-141.0.7390.37/build/rust/allocator/lib.rs 2025-09-27 15:14:54.661952048 +0200 +@@ -103,6 +103,11 @@ mod both_allocators { + #[linkage = "weak"] + static __rust_alloc_error_handler_should_panic: u8 = 0; + ++ // Mangle the symbol name as rustc (1.84) expects on EL9 ++ #[unsafe(no_mangle)] ++ #[linkage = "weak"] ++ static __rust_no_alloc_shim_is_unstable: u8 = 0; ++ + // Mangle the symbol name as rustc expects. + #[rustc_std_internal_symbol] + #[allow(non_upper_case_globals)] diff --git a/chromium-143-el9-rust_alloc_error_handler_should_panic.patch b/chromium-143-el9-rust_alloc_error_handler_should_panic.patch new file mode 100644 index 0000000..190f1ab --- /dev/null +++ b/chromium-143-el9-rust_alloc_error_handler_should_panic.patch @@ -0,0 +1,17 @@ +diff -up chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic chromium-142.0.7444.162/build/rust/allocator/lib.rs +--- chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic 2025-11-12 09:39:31.616713829 +0100 ++++ chromium-142.0.7444.162/build/rust/allocator/lib.rs 2025-11-14 11:43:32.115426831 +0100 +@@ -96,6 +96,13 @@ mod both_allocators { + 0 + } + ++ // Mangle the symbol name as rustc (1.88) expects on EL9 ++ #[rustc_std_internal_symbol] ++ #[linkage = "weak"] ++ fn __rust_alloc_error_handler_should_panic() -> u8 { ++ 0 ++ } ++ + // Mangle the symbol name as rustc (1.84) expects on EL9 + #[unsafe(no_mangle)] + #[linkage = "weak"] diff --git a/chromium-143-python-3.9-ftbfs.patch b/chromium-143-python-3.9-ftbfs.patch new file mode 100644 index 0000000..d69e5c3 --- /dev/null +++ b/chromium-143-python-3.9-ftbfs.patch @@ -0,0 +1,73 @@ +Author: + +Fix build error caused by python-3.9 on EL9 + +Traceback (most recent call last): + File "/builddir/build/BUILD/chromium-143.0.7499.40/out/Release/../../tools/metrics/histograms/generate_allowlist_from_histograms_file.py", line 10, in + import extract_histograms + File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py", line 24, in + import xml_utils + File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/../common/xml_utils.py", line 14, in + DomTree = minidom.Element | minidom.Document +TypeError: unsupported operand type(s) for |: 'type' and 'type' + +diff -up chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py +--- chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs 2025-11-19 22:40:05.000000000 +0100 ++++ chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py 2025-12-02 17:23:41.996802101 +0100 +@@ -18,6 +18,7 @@ import re + import sys + from typing import TypedDict + import xml.dom.minidom ++from typing import Optional, Union + + sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) + import xml_utils +@@ -84,7 +85,7 @@ class EnumDict(TypedDict, total=False): + """A dict representing an enum.""" + + name: str +- type: str | None ++ type: Optional[str] + buckets: list[_BucketDict] + summary: str + +@@ -108,7 +109,7 @@ def ExpandHistogramNameWithSuffixes( + suffix_name: str, + histogram_name: str, + histogram_suffixes_node: xml.dom.minidom.Element, +-) -> tuple[str | None, ExtractionErrors]: ++) -> tuple[Optional[str], ExtractionErrors]: + """Creates a new histogram name based on a histogram suffix. + + Args: +@@ -310,7 +311,7 @@ def _ExtractOwners(node: xml.dom.minidom + + def _ExtractImprovementDirection( + histogram_node: xml.dom.minidom.Element, +-) -> tuple[str | None, ExtractionErrors]: ++) -> tuple[Union[str, None], ExtractionErrors]: + """Extracts improvement direction from the given histogram element, if any. + + Args: +@@ -644,7 +645,7 @@ def ExtractVariantsFromXmlTree( + return variants_dict, errors + + +-def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None: ++def _GetObsoleteReason(node: xml.dom.minidom.Element) -> Optional[str]: + """If the node's histogram is obsolete, returns a string explanation. + + Otherwise, returns None. +diff -up chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than chromium-143.0.7499.40/tools/metrics/common/xml_utils.py +--- chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than 2025-12-04 17:48:11.924111675 +0100 ++++ chromium-143.0.7499.40/tools/metrics/common/xml_utils.py 2025-12-04 17:49:42.451979769 +0100 +@@ -11,7 +11,8 @@ from xml.dom import minidom + # The implementation of Node type is possible with extra runtime checks, however + # using a more specific type makes the intent clearer and avoids potential + # warnings about attributes like `tagName` not being present on all Node types. +-DomTree = minidom.Element | minidom.Document ++from typing import Union ++DomTree = Union[minidom.Element, minidom.Document] + + _ELEMENT_NODE = minidom.Node.ELEMENT_NODE + diff --git a/chromium-143-revert-libpng_for_testonly.patch b/chromium-143-revert-libpng_for_testonly.patch new file mode 100644 index 0000000..7ece43c --- /dev/null +++ b/chromium-143-revert-libpng_for_testonly.patch @@ -0,0 +1,137 @@ +commit 4f7637304eca894adf2e70078a55654a88224a30 +Author: Lukasz Anforowicz +Date: Tue Sep 30 07:08:03 2025 -0700 + + [rust png] Reland: Reinforce `testonly`-ness of some users of `libpng`. + + This reverts commit 7fa4c2d7ab42a48247ce8e0290cbb7e854990f1e and + effectively relands https://crrev.com/c/6976870. The reland is + attempted after using wildcards to cover extra gni-generated targets. + `Cq-Include-Trybots` directives in the CL description should verify + correctness of the reland. Original CL description follows: + + This CL extracts a separate `third_party/libpng:libpng_for_testonly` + target which: + + 1) Is a `group` that proxies/forwards to the `libpng` target by listing + it as its `public_deps` + 2) Has limited visibility (based on the new `libpng_testonly_visibility` + introduced in the refactored `third_party/libpng/visibility.gni`). + The new visibility is almost unchanged, except for explicitly + spelling out some targets instead of using wildcards + 3) Is marked as `testonly` + + Bug: 443128323 + Change-Id: If7ba0d184324a5c662aaf2d52122994ea778d452 + Cq-Include-Trybots: luci.chromium.try:ios-catalyst + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6991491 + Auto-Submit: Łukasz Anforowicz + Commit-Queue: Łukasz Anforowicz + Reviewed-by: Nico Weber + Cr-Commit-Position: refs/heads/main@{#1522830} + +diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn +index a4703c3692d..2d70f7a5fe9 100644 +--- a/chrome/test/BUILD.gn ++++ b/chrome/test/BUILD.gn +@@ -11152,7 +11152,7 @@ if (!is_android) { + "//testing/gtest", + "//third_party/hunspell", + "//third_party/icu", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + "//ui/base:test_support", + "//ui/events:test_support", + "//ui/ozone", +@@ -11512,7 +11512,7 @@ if (!is_android && !is_chromeos_device) { + "//testing/gtest", + "//third_party/hunspell", + "//third_party/icu", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + "//ui/base:base_interactive_ui_tests", + "//ui/base:ozone_buildflags", + "//ui/base:test_support", +@@ -12470,7 +12470,7 @@ if (!is_android) { + "//testing/gtest", + "//third_party/hunspell", + "//third_party/icu", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + "//ui/base:test_support", + "//ui/resources:ui_test_pak", + "//ui/views", +diff --git a/testing/libfuzzer/fuzzers/BUILD.gn b/testing/libfuzzer/fuzzers/BUILD.gn +index 7d242e177f0..1c67eee1598 100644 +--- a/testing/libfuzzer/fuzzers/BUILD.gn ++++ b/testing/libfuzzer/fuzzers/BUILD.gn +@@ -104,7 +104,7 @@ fuzzer_test("libpng_progressive_read_fuzzer") { + sources = [ "libpng_read_fuzzer.cc" ] + deps = [ + "//base", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + ] + dict = "dicts/png.dict" + seed_corpuses = libpng_seed_corpuses +diff --git a/third_party/libpng/BUILD.gn b/third_party/libpng/BUILD.gn +index d4bdea1e33c..3e31348b94f 100644 +--- a/third_party/libpng/BUILD.gn ++++ b/third_party/libpng/BUILD.gn +@@ -130,6 +130,14 @@ if (is_win) { + } + } + ++group("libpng_for_testonly") { ++ testonly = true ++ public_deps = [ ":libpng" ] ++ ++ visibility = [] ++ visibility = libpng_testonly_visibility ++} ++ + if (build_with_chromium) { + libpng_ossfuzz_seed_corpuses = [ + "//components/test/data/viz", +diff --git a/tools/imagediff/BUILD.gn b/tools/imagediff/BUILD.gn +index d56651bedc7..2b5f3d38488 100644 +--- a/tools/imagediff/BUILD.gn ++++ b/tools/imagediff/BUILD.gn +@@ -34,6 +34,7 @@ if (target_os == "win" && host_os != "win") { + # If the current toolchain is the test host toolchain, build the tool. + if (current_toolchain == imagediff_toolchain) { + executable("imagediff") { ++ testonly = true + output_name = "image_diff" # Different than dir name for historical + # reasons. + sources = [ +@@ -47,7 +48,7 @@ if (current_toolchain == imagediff_toolchain) { + deps = [ + "//base", + "//build/win:default_exe_manifest", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + "//third_party/zlib", + ] + } +@@ -60,6 +61,7 @@ if (current_toolchain == imagediff_toolchain) { + } else if (current_toolchain == default_toolchain && + default_toolchain != imagediff_toolchain) { + binary_symlink("imagediff") { ++ testonly = true + binary_label = ":$target_name($imagediff_toolchain)" + binary_output_name = "image_diff" + +diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn +index f6a40abfe99..83d8f55027a 100644 +--- a/ui/gfx/BUILD.gn ++++ b/ui/gfx/BUILD.gn +@@ -906,7 +906,7 @@ test("gfx_unittests") { + "//skia:skcms", + "//testing/gtest", + "//third_party/icu:icuuc", +- "//third_party/libpng", ++ "//third_party/libpng:libpng_for_testonly", + "//third_party/zlib", + "//ui/base", + "//ui/gfx/animation", diff --git a/chromium-143-swiftshader-llvm-16.0.patch b/chromium-143-swiftshader-llvm-16.0.patch new file mode 100644 index 0000000..c74a900 --- /dev/null +++ b/chromium-143-swiftshader-llvm-16.0.patch @@ -0,0 +1,12 @@ +diff -up chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn +--- chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 2025-12-02 23:25:25.379315827 +0100 ++++ chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn 2025-12-02 23:25:58.697291861 +0100 +@@ -307,7 +307,7 @@ if (supports_subzero) { + + if (supports_llvm) { + swiftshader_source_set("swiftshader_llvm_reactor") { +- llvm_dir = "../../third_party/llvm-10.0" ++ llvm_dir = "../../third_party/llvm-16.0" + + deps = [ + ":swiftshader_reactor_base", diff --git a/chromium-144-rust-clanglib.patch b/chromium-144-rust-clanglib.patch new file mode 100644 index 0000000..981fe52 --- /dev/null +++ b/chromium-144-rust-clanglib.patch @@ -0,0 +1,66 @@ +diff -up chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib chromium-144.0.7559.31/build/config/clang/BUILD.gn +--- chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100 ++++ chromium-144.0.7559.31/build/config/clang/BUILD.gn 2025-12-23 19:01:33.876897379 +0100 +@@ -177,7 +177,21 @@ template("clang_lib") { + } + } else if (is_apple) { + _dir = "darwin" +- } else if (is_linux || is_chromeos) { ++ } else if (is_linux) { ++ if (current_cpu == "x64") { ++ _dir = "x86_64-redhat-linux-gnu" ++ } else if (current_cpu == "x86") { ++ _dir = "i386-redhat-linux-gnu" ++ } else if (current_cpu == "arm64") { ++ _dir = "aarch64-redhat-linux-gnu" ++ } else if (current_cpu == "arm") { ++ _dir = "armhf-redhat-linux-gnu" ++ } else if (current_cpu == "ppc64") { ++ _dir = "ppc64le-redhat-linux-gnu" ++ } else { ++ assert(false) # Unhandled cpu type ++ } ++ } else if (is_chromeos) { + if (current_cpu == "x64") { + _dir = "x86_64-unknown-linux-gnu" + } else if (current_cpu == "x86") { +diff -up chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni +--- chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100 ++++ chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni 2025-12-23 19:21:34.335924481 +0100 +@@ -26,14 +26,14 @@ if (!use_chromium_rust_toolchain && + + # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in + # ../lib. +-_libclang_path = rust_bindgen_root ++_libclang_path = clang_base_path + if (!use_chromium_rust_toolchain && + (host_cpu == "ppc64" || host_cpu == "s390x")) { + _libclang_path = rust_sysroot_absolute + "/lib64" + } else if (host_os == "win") { + _libclang_path += "/bin" + } else { +- _libclang_path += "/lib" ++ _libclang_path += "/lib64" + } + + # Template to build Rust/C bindings with bindgen. +diff -up chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen.gni +--- chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100 ++++ chromium-144.0.7559.31/build/rust/rust_bindgen.gni 2025-12-23 19:22:12.089755683 +0100 +@@ -19,14 +19,14 @@ if (host_os == "win") { + + # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in + # ../lib. +-_libclang_path = rust_bindgen_root ++_libclang_path = clang_base_path + if (!use_chromium_rust_toolchain && + (current_cpu == "ppc64" || current_cpu == "s390x")) { + _libclang_path = rust_sysroot_absolute + "/lib64" + } else if (host_os == "win") { + _libclang_path += "/bin" + } else { +- _libclang_path += "/lib" ++ _libclang_path += "/lib64" + } + + # Template to build Rust/C bindings with bindgen. diff --git a/chromium-144-rust-libadler2.patch b/chromium-144-rust-libadler2.patch new file mode 100644 index 0000000..631a321 --- /dev/null +++ b/chromium-144-rust-libadler2.patch @@ -0,0 +1,16 @@ +diff -up chromium-144.0.7559.31/build/rust/std/BUILD.gn.than chromium-144.0.7559.31/build/rust/std/BUILD.gn +--- chromium-144.0.7559.31/build/rust/std/BUILD.gn.than 2025-12-26 15:06:36.274081861 +0100 ++++ chromium-144.0.7559.31/build/rust/std/BUILD.gn 2025-12-26 16:11:45.697054423 +0100 +@@ -55,11 +55,7 @@ if (toolchain_has_rust) { + "miniz_oxide", + "object", + ] +- if (rustc_nightly_capability) { +- stdlib_files += [ "adler2" ] +- } else { +- stdlib_files += [ "adler" ] +- } ++ stdlib_files += [ "adler2" ] + } + + if (toolchain_for_rust_host_build_tools) { diff --git a/chromium-70.0.3538.67-sandbox-pie.patch b/chromium-70.0.3538.67-sandbox-pie.patch deleted file mode 100644 index 0f104e9..0000000 --- a/chromium-70.0.3538.67-sandbox-pie.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie chromium-70.0.3538.67/sandbox/linux/BUILD.gn ---- chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie 2018-10-18 12:14:05.766939769 -0400 -+++ chromium-70.0.3538.67/sandbox/linux/BUILD.gn 2018-10-18 12:16:37.820027182 -0400 -@@ -315,10 +315,16 @@ if (is_linux) { - # For ULLONG_MAX - "-std=gnu99", - -+ "-fPIE", -+ - # These files have a suspicious comparison. - # TODO fix this and re-enable this warning. - "-Wno-sign-compare", - ] -+ -+ ldflags = [ -+ "-pie", -+ ] - } - } - diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch deleted file mode 100644 index c32d226..0000000 --- a/chromium-77.0.3865.75-no-zlib-mangle.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h ---- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 -+++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 -@@ -9,18 +9,6 @@ - #define ZCONF_H - - /* -- * This library is also built as a part of AOSP, which does not need to include -- * chromeconf.h. This config does not want chromeconf.h, so it can set this -- * macro to opt out. While this works today, there's no guarantee that building -- * zlib outside of Chromium keeps working in the future. -- */ --#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" --#endif -- --/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium-81.0.4044.92-unbundle-zlib.patch b/chromium-81.0.4044.92-unbundle-zlib.patch deleted file mode 100644 index ff4e3b1..0000000 --- a/chromium-81.0.4044.92-unbundle-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn ---- chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2020-04-13 12:25:09.001172601 -0400 -+++ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn 2020-04-13 12:25:23.688921586 -0400 -@@ -294,7 +294,7 @@ if (enable_perfetto_zlib) { - public_configs = [ "//buildtools:zlib_config" ] - public_deps = [ "//buildtools:zlib" ] - } else { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ "//third_party/zlib" ] - } - } diff --git a/chromium-85.0.4183.83-el7-old-libdrm.patch b/chromium-85.0.4183.83-el7-old-libdrm.patch deleted file mode 100644 index d7d7f6e..0000000 --- a/chromium-85.0.4183.83-el7-old-libdrm.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc ---- chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2020-08-31 09:38:46.043993882 -0400 -+++ chromium-85.0.4183.83/ui/gfx/linux/drm_util_linux.cc 2020-08-31 09:39:21.599906318 -0400 -@@ -6,6 +6,11 @@ - - #include - -+// the libdrm in EL-7 is too old to have this define -+#ifndef DRM_FORMAT_P010 -+#define DRM_FORMAT_P010 DRM_FORMAT_INVALID -+#endif -+ - #include "base/notreached.h" - - namespace ui { diff --git a/chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch b/chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch deleted file mode 100644 index a4748d9..0000000 --- a/chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-91.0.4472.77/third_party/closure_compiler/compiler.py.java-allowed chromium-91.0.4472.77/third_party/closure_compiler/compiler.py ---- chromium-91.0.4472.77/third_party/closure_compiler/compiler.py.java-allowed 2021-06-02 17:14:48.445064647 +0000 -+++ chromium-91.0.4472.77/third_party/closure_compiler/compiler.py 2021-06-02 17:15:12.994836949 +0000 -@@ -13,8 +13,7 @@ import subprocess - - - _CURRENT_DIR = os.path.join(os.path.dirname(__file__)) --_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java") --assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds" -+_JAVA_PATH = "java" - - class Compiler(object): - """Runs the Closure compiler on given source files to typecheck them diff --git a/chromium-93.0.4577.63-py3-bootstrap.patch b/chromium-93.0.4577.63-py3-bootstrap.patch deleted file mode 100644 index 899495f..0000000 --- a/chromium-93.0.4577.63-py3-bootstrap.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py ---- chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 2021-08-31 21:40:34.000000000 -0400 -+++ chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py 2021-09-02 08:26:04.415846917 -0400 -@@ -130,7 +130,7 @@ def main(argv): - if not options.debug: - gn_gen_args += ' is_debug=false' - subprocess.check_call([ -- gn_path, 'gen', out_dir, -+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python3', - '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT - ]) - diff --git a/chromium-98.0.4758.80-epel7-erase-fix.patch b/chromium-98.0.4758.80-epel7-erase-fix.patch deleted file mode 100644 index 230e9d6..0000000 --- a/chromium-98.0.4758.80-epel7-erase-fix.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc ---- chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix 2022-02-03 19:16:57.784979831 +0000 -+++ chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc 2022-02-03 19:17:12.983633352 +0000 -@@ -19,14 +19,14 @@ namespace { - // Remove any custom editor "prefixes" from the property name. The prefixes must - // not be valid identifier characters. - void StripPrefix(std::string& property_name) { -- auto cur = property_name.cbegin(); -+ auto cur = property_name.begin(); - for (; cur < property_name.cend(); ++cur) { - if ((*cur >= 'A' && *cur <= 'Z') || (*cur >= 'a' && *cur <= 'z') || - *cur == '_') { - break; - } - } -- property_name.erase(property_name.cbegin(), cur); -+ property_name.erase(property_name.begin(), cur); - } - - } // namespace diff --git a/chromium-99.0.4844.51-el7-extra-operator.patch b/chromium-99.0.4844.51-el7-extra-operator.patch deleted file mode 100644 index 34c89d0..0000000 --- a/chromium-99.0.4844.51-el7-extra-operator.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h ---- chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h.el7-extra-operator-equalequal 2022-03-05 18:37:25.979241754 -0500 -+++ chromium-99.0.4844.51/base/allocator/partition_allocator/starscan/metadata_allocator.h 2022-03-05 18:37:25.979241754 -0500 -@@ -39,6 +39,11 @@ class MetadataAllocator { - } - - template -+ bool operator==(const MetadataAllocator&) const { -+ return true; -+ } -+ -+ template - bool operator!=(const MetadataAllocator& o) { - return !operator==(o); - } -diff -up chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h ---- chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.el7-extra-operator-equalequal 2022-03-06 19:14:20.892513442 -0500 -+++ chromium-99.0.4844.51/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h 2022-03-06 19:15:40.412060574 -0500 -@@ -70,6 +70,7 @@ struct FxPartitionAllocAllocator { - } - - // There's no state, so they are all the same, -+ bool operator==(const FxPartitionAllocAllocator&) const { return true; } - bool operator==(const FxPartitionAllocAllocator& that) { return true; } - bool operator!=(const FxPartitionAllocAllocator& that) { return false; } - }; diff --git a/chromium-99.0.4844.51-epel7-old-cups.patch b/chromium-99.0.4844.51-epel7-old-cups.patch deleted file mode 100644 index ec0dedc..0000000 --- a/chromium-99.0.4844.51-epel7-old-cups.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -up chromium-99.0.4844.51/printing/backend/cups_helper.cc.el7cups chromium-99.0.4844.51/printing/backend/cups_helper.cc ---- chromium-99.0.4844.51/printing/backend/cups_helper.cc.el7cups 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/printing/backend/cups_helper.cc 2022-03-05 15:17:45.516887985 -0500 -@@ -34,18 +34,6 @@ namespace printing { - // This section contains helper code for PPD parsing for semantic capabilities. - namespace { - --// Function availability can be tested by checking whether its address is not --// nullptr. Weak symbols remove the need for platform specific build flags and --// allow for appropriate CUPS usage on platforms with non-uniform version --// support, namely Linux. --#define WEAK_CUPS_FN(x) extern "C" __attribute__((weak)) decltype(x) x -- --WEAK_CUPS_FN(httpConnect2); -- --// Timeout for establishing a CUPS connection. It is expected that cupsd is --// able to start and respond on all systems within this duration. --constexpr base::TimeDelta kCupsTimeout = base::Seconds(5); -- - // CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute). - constexpr int32_t kDefaultMaxCopies = 9999; - constexpr char kCupsMaxCopies[] = "cupsMaxCopies"; -@@ -527,8 +515,7 @@ const int kDefaultIPPServerPort = 631; - // Helper wrapper around http_t structure, with connection and cleanup - // functionality. - HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking) -+ http_encryption_t encryption) - : http_(nullptr) { - // If we have an empty url, use default print server. - if (print_server_url.is_empty()) -@@ -538,17 +525,10 @@ HttpConnectionCUPS::HttpConnectionCUPS(c - if (port == url::PORT_UNSPECIFIED) - port = kDefaultIPPServerPort; - -- if (httpConnect2) { -- http_ = httpConnect2(print_server_url.host().c_str(), port, -- /*addrlist=*/nullptr, AF_UNSPEC, encryption, -- blocking ? 1 : 0, kCupsTimeout.InMilliseconds(), -- /*cancel=*/nullptr); -- } else { -- // Continue to use deprecated CUPS calls because because older Linux -- // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6. -- http_ = -- httpConnectEncrypt(print_server_url.host().c_str(), port, encryption); -- } -+ // Continue to use deprecated CUPS calls because because older Linux -+ // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6. -+ http_ = -+ httpConnectEncrypt(print_server_url.host().c_str(), port, encryption); - - if (!http_) { - LOG(ERROR) << "CP_CUPS: Failed connecting to print server: " -@@ -556,8 +536,6 @@ HttpConnectionCUPS::HttpConnectionCUPS(c - return; - } - -- if (!httpConnect2) -- httpBlocking(http_, blocking ? 1 : 0); - } - - HttpConnectionCUPS::~HttpConnectionCUPS() { -@@ -565,6 +543,10 @@ HttpConnectionCUPS::~HttpConnectionCUPS( - httpClose(http_); - } - -+void HttpConnectionCUPS::SetBlocking(bool blocking) { -+ httpBlocking(http_, blocking ? 1 : 0); -+} -+ - http_t* HttpConnectionCUPS::http() { - return http_; - } -diff -up chromium-99.0.4844.51/printing/backend/cups_helper.h.el7cups chromium-99.0.4844.51/printing/backend/cups_helper.h ---- chromium-99.0.4844.51/printing/backend/cups_helper.h.el7cups 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/printing/backend/cups_helper.h 2022-03-05 15:17:45.517887991 -0500 -@@ -34,10 +34,11 @@ constexpr cups_ptype_t kDestinationsFilt - class COMPONENT_EXPORT(PRINT_BACKEND) HttpConnectionCUPS { - public: - HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking); -+ http_encryption_t encryption); - ~HttpConnectionCUPS(); - -+ void SetBlocking(bool blocking); -+ - http_t* http(); - - private: -diff -up chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups chromium-99.0.4844.51/printing/backend/print_backend_cups.cc ---- chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/printing/backend/print_backend_cups.cc 2022-03-05 15:17:45.517887991 -0500 -@@ -146,7 +146,7 @@ mojom::ResultCode PrintBackendCUPS::Enum - // not showing as available. Using cupsEnumDests() allows us to do our own - // filtering should any duplicates occur. - CupsDestsData dests_data = {0, nullptr}; -- ipp_status_t last_error = IPP_STATUS_OK; -+ ipp_status_t last_error = IPP_OK; - if (print_server_url_.is_empty()) { - VLOG(1) << "CUPS: using cupsEnumDests to enumerate printers"; - if (!cupsEnumDests(CUPS_DEST_FLAGS_NONE, kCupsTimeoutMs, -@@ -173,7 +173,7 @@ mojom::ResultCode PrintBackendCUPS::Enum - // no printer drivers installed. Rely upon CUPS error code to distinguish - // between these. - DCHECK(!dests_data.dests); -- if (last_error != IPP_STATUS_ERROR_NOT_FOUND) { -+ if (last_error != IPP_NOT_FOUND) { - VLOG(1) << "CUPS: Error getting printers from CUPS server" - << ", server: " << print_server_url_ - << ", error: " << static_cast(last_error) << " - " -@@ -336,7 +336,8 @@ int PrintBackendCUPS::GetDests(cups_dest - if (print_server_url_.is_empty()) - return cupsGetDests2(CUPS_HTTP_DEFAULT, dests); - -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - - // This call must be made in the same scope as `http` because its destructor - // closes the connection. -@@ -362,7 +363,8 @@ base::FilePath PrintBackendCUPS::GetPPD( - // connection will timeout after 10 seconds of no data period. And it will - // return the same way as if data was completely and successfully - // downloaded. -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - ppd_file_path = cupsGetPPD2(http.http(), name); - // Check if the get full PPD, since non-blocking call may simply return - // normally after timeout expired. -@@ -398,7 +400,8 @@ PrintBackendCUPS::ScopedDestination Prin - // Use default (local) print server. - dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr); - } else { -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - dest = cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr); - } - return ScopedDestination(dest); diff --git a/chromium-browser.appdata.xml b/chromium-browser.appdata.xml new file mode 100644 index 0000000..e46c262 --- /dev/null +++ b/chromium-browser.appdata.xml @@ -0,0 +1,36 @@ + + + + chromium-browser.desktop + chromium-dev@chromium.org + CC0-1.0 + BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0) + Chromium Web Browser + The web browser from Chromium project + +

+ Chromium is an open-source browser project that aims to build a safer, faster, + and more stable way to experience the web. +

+

+ We invite you to join our effort to build a powerful platform for developing a + new generation of web applications. +

+

+ Chromium supports Vorbis, Theora, WebM and HTML5 audio and video standards, but + does not include the non-free AAC, H.264, MP3 or Adobe Flash code that is found + in Chrome. +

+
+ https://www.chromium.org/Home + + + https://www.gstatic.com/chrome/appstream/chrome-2.png + + + + + The Chromium Authors + https://www.chromium.org/for-testers/bug-reporting-guidelines + https://chromium.googlesource.com/chromium/src/+/main/docs/linux/debugging.md +
diff --git a/chromium-browser.desktop b/chromium-browser.desktop index 23d3257..e88b5af 100644 --- a/chromium-browser.desktop +++ b/chromium-browser.desktop @@ -150,8 +150,8 @@ Name[ast]=Ventana nueva Name[az]=Yeni Pəncərə Name[be]=Новае акно Name[bg]=Нов прозорец -Name[bn-BD]=নতুন উইন্ডো (N) -Name[bn-IN]=নতুন উইন্ডো +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো Name[br]=Prenestr nevez Name[brx]=गोदान उइन्ड'(N) Name[bs]=Novi prozor @@ -163,37 +163,37 @@ Name[da]=Nyt vindue Name[de]=Neues Fenster Name[dsb]=Nowe wokno Name[el]=Νέο παράθυρο -Name[en-GB]=New Window -Name[en-US]=New Window -Name[en-ZA]=New Window +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window Name[eo]=Nova fenestro -Name[es-AR]=Nueva ventana -Name[es-CL]=Nueva ventana -Name[es-ES]=Nueva ventana -Name[es-MX]=Nueva ventana +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana Name[et]=Uus aken Name[eu]=Leiho berria Name[fa]=پنجره جدید‌ Name[ff]=Henorde Hesere Name[fi]=Uusi ikkuna Name[fr]=Nouvelle fenêtre -Name[fy-NL]=Nij finster -Name[ga-IE]=Fuinneog Nua +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua Name[gd]=Uinneag ùr Name[gl]=Nova xanela Name[gn]=Ovetã pyahu -Name[gu-IN]=નવી વિન્ડો +Name[gu_IN]=નવી વિન્ડો Name[he]=חלון חדש -Name[hi-IN]=नया विंडो +Name[hi_IN]=नया विंडो Name[hr]=Novi prozor Name[hsb]=Nowe wokno Name[hu]=Új ablak -Name[hy-AM]=Նոր Պատուհան +Name[hy_AM]=Նոր Պատուհան Name[id]=Jendela Baru Name[is]=Nýr gluggi Name[it]=Nuova finestra Name[ja]=新しいウィンドウ -Name[ja-JP-mac]=新規ウインドウ +Name[ja_JP@mac]=新規ウインドウ Name[ka]=ახალი ფანჯარა Name[kk]=Жаңа терезе Name[km]=បង្អួច​​​ថ្មី @@ -212,15 +212,15 @@ Name[ml]=പുതിയ ജാലകം Name[mr]=नवीन पटल Name[ms]=Tetingkap Baru Name[my]=ဝင်းဒိုးအသစ် -Name[nb-NO]=Nytt vindu -Name[ne-NP]=नयाँ सञ्झ्याल +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल Name[nl]=Nieuw venster -Name[nn-NO]=Nytt vindauge +Name[nn_NO]=Nytt vindauge Name[or]=ନୂତନ ୱିଣ୍ଡୋ -Name[pa-IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ Name[pl]=Nowe okno -Name[pt-BR]=Nova janela -Name[pt-PT]=Nova janela +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela Name[rm]=Nova fanestra Name[ro]=Fereastră nouă Name[ru]=Новое окно @@ -231,7 +231,7 @@ Name[sl]=Novo okno Name[son]=Zanfun taaga Name[sq]=Dritare e Re Name[sr]=Нови прозор -Name[sv-SE]=Nytt fönster +Name[sv_SE]=Nytt fönster Name[ta]=புதிய சாளரம் Name[te]=కొత్త విండో Name[th]=หน้าต่างใหม่ @@ -243,8 +243,8 @@ Name[uz]=Yangi oyna Name[vi]=Cửa sổ mới Name[wo]=Palanteer bu bees Name[xh]=Ifestile entsha -Name[zh-CN]=新建窗口 -Name[zh-TW]=開新視窗 +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 Exec=chromium-browser %U [Desktop Action new-private-window] @@ -258,8 +258,8 @@ Name[ast]=Ventana privada nueva Name[az]=Yeni Məxfi Pəncərə Name[be]=Новае акно адасаблення Name[bg]=Нов прозорец за поверително сърфиране -Name[bn-BD]=নতুন ব্যক্তিগত উইন্ডো -Name[bn-IN]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো Name[br]=Prenestr merdeiñ prevez nevez Name[brx]=गोदान प्राइभेट उइन्ड' Name[bs]=Novi privatni prozor @@ -271,37 +271,37 @@ Name[da]=Nyt privat vindue Name[de]=Neues privates Fenster Name[dsb]=Nowe priwatne wokno Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης -Name[en-GB]=New Private Window -Name[en-US]=New Private Window -Name[en-ZA]=New Private Window +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window Name[eo]=Nova privata fenestro -Name[es-AR]=Nueva ventana privada -Name[es-CL]=Nueva ventana privada -Name[es-ES]=Nueva ventana privada -Name[es-MX]=Nueva ventana privada +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada Name[et]=Uus privaatne aken Name[eu]=Leiho pribatu berria Name[fa]=پنجره ناشناس جدید Name[ff]=Henorde Suturo Hesere Name[fi]=Uusi yksityinen ikkuna Name[fr]=Nouvelle fenêtre de navigation privée -Name[fy-NL]=Nij priveefinster -Name[ga-IE]=Fuinneog Nua Phríobháideach +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach Name[gd]=Uinneag phrìobhaideach ùr Name[gl]=Nova xanela privada Name[gn]=Ovetã ñemi pyahu -Name[gu-IN]=નવી ખાનગી વિન્ડો +Name[gu_IN]=નવી ખાનગી વિન્ડો Name[he]=חלון פרטי חדש Name[hi-IN]=नयी निजी विंडो Name[hr]=Novi privatni prozor Name[hsb]=Nowe priwatne wokno Name[hu]=Új privát ablak -Name[hy-AM]=Սկսել Գաղտնի դիտարկում +Name[hy_AM]=Սկսել Գաղտնի դիտարկում Name[id]=Jendela Mode Pribadi Baru Name[is]=Nýr huliðsgluggi Name[it]=Nuova finestra anonima Name[ja]=新しいプライベートウィンドウ -Name[ja-JP-mac]=新規プライベートウインドウ +Name[ja_JP@mac]=新規プライベートウインドウ Name[ka]=ახალი პირადი ფანჯარა Name[kk]=Жаңа жекелік терезе Name[km]=បង្អួច​ឯកជន​ថ្មី @@ -320,15 +320,15 @@ Name[ml]=പുതിയ സ്വകാര്യ ജാലകം Name[mr]=नवीन वैयक्तिक पटल Name[ms]=Tetingkap Persendirian Baharu Name[my]=New Private Window -Name[nb-NO]=Nytt privat vindu -Name[ne-NP]=नयाँ निजी सञ्झ्याल +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल Name[nl]=Nieuw privévenster -Name[nn-NO]=Nytt privat vindauge +Name[nn_NO]=Nytt privat vindauge Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ -Name[pa-IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ Name[pl]=Nowe okno prywatne -Name[pt-BR]=Nova janela privativa -Name[pt-PT]=Nova janela privada +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada Name[rm]=Nova fanestra privata Name[ro]=Fereastră privată nouă Name[ru]=Новое приватное окно @@ -339,7 +339,7 @@ Name[sl]=Novo zasebno okno Name[son]=Sutura zanfun taaga Name[sq]=Dritare e Re Private Name[sr]=Нови приватан прозор -Name[sv-SE]=Nytt privat fönster +Name[sv_SE]=Nytt privat fönster Name[ta]=புதிய தனிப்பட்ட சாளரம் Name[te]=కొత్త ఆంతరంగిక విండో Name[th]=หน้าต่างส่วนตัวใหม่ @@ -351,6 +351,6 @@ Name[uz]=Yangi maxfiy oyna Name[vi]=Cửa sổ riêng tư mới Name[wo]=Panlanteeru biir bu bees Name[xh]=Ifestile yangasese entsha -Name[zh-CN]=新建隐私浏览窗口 -Name[zh-TW]=新增隱私視窗 +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 Exec=chromium-browser --incognito %U diff --git a/chromium-browser.sh b/chromium-browser.sh index 492a496..639e868 100755 --- a/chromium-browser.sh +++ b/chromium-browser.sh @@ -25,15 +25,6 @@ else [ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list" fi -# Always use our versions of ffmpeg libs. -# This also makes RPMs find the compatibly-named library symlinks. -if [[ -n "$LD_LIBRARY_PATH" ]]; then - LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH" -else - LD_LIBRARY_PATH="$HERE:$HERE/lib" -fi -export LD_LIBRARY_PATH - export CHROME_VERSION_EXTRA="Built from source for @@BUILD_TARGET@@" # We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 @@ -48,7 +39,6 @@ CHROMIUM_DISTRO_FLAGS=" --enable-plugins \ --enable-extensions \ --enable-user-scripts \ --enable-printing \ - --enable-gpu-rasterization \ --enable-sync \ --auto-ssl-client-auth @@EXTRA_FLAGS@@" @@ -58,4 +48,4 @@ exec < /dev/null exec > >(exec cat) exec 2> >(exec cat >&2) -exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_FLAGS $CHROMIUM_DISTRO_FLAGS "$@" +exec -a "$0" "$HERE/chromium-browser" $CHROMIUM_FLAGS $CHROMIUM_DISTRO_FLAGS "$@" diff --git a/chromium-browser.xml b/chromium-browser.xml index 159e05c..3ee1e43 100644 --- a/chromium-browser.xml +++ b/chromium-browser.xml @@ -8,11 +8,9 @@ /usr/bin/chromium-browser %s chromium-browser false - false - + true + /usr/bin/chromium-browser %s + /usr/bin/chromium-browser --new-window %s diff --git a/chromium-el9-ffmpeg-AV_CODEC_FLAG_COPY_OPAQUE.patch b/chromium-el9-ffmpeg-AV_CODEC_FLAG_COPY_OPAQUE.patch new file mode 100644 index 0000000..95b51c3 --- /dev/null +++ b/chromium-el9-ffmpeg-AV_CODEC_FLAG_COPY_OPAQUE.patch @@ -0,0 +1,12 @@ +diff -up chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc +--- chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me 2025-09-05 02:43:56.666833745 +0200 ++++ chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc 2025-09-05 03:09:01.121397898 +0200 +@@ -486,7 +486,7 @@ bool FFmpegVideoDecoder::ConfigureDecode + + codec_context_->opaque = this; + codec_context_->get_buffer2 = GetVideoBufferImpl; +- codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE; ++ //codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE; + + if (decode_nalus_) { + codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS; diff --git a/chromium-latest.py b/chromium-latest.py index 5864be9..269c1d0 100755 --- a/chromium-latest.py +++ b/chromium-latest.py @@ -1,5 +1,5 @@ #!/usr/bin/python3 -# Copyright 2021-2023, Than Ngo +# Copyright 2021-2025, Than Ngo # Copyright 2010,2015-2019 Tom Callaway # Copyright 2013-2016 Tomas Popela # Permission is hereby granted, free of charge, to any person obtaining @@ -73,10 +73,11 @@ def delete_chromium_files(files): full_path = "%s/%s" % (latest_dir, files) print('Deleting ' + full_path + ' ', end=' ') for filename in glob.glob(full_path): - print('Deleting ' + filename + ' ', end=' ') - os.remove(filename) - print('[DONE]') - + if os.path.isfile(filename): + os.remove(filename) + print('[DONE]') + else: + print('[NOT FOUND]') def check_omahaproxy(channel="stable"): @@ -242,6 +243,9 @@ if __name__ == '__main__': parser_add_argument( '--ffmpegclean', action='store_true', help='Get the latest Chromium release from given channel and cleans ffmpeg sources from proprietary stuff') + parser_add_argument( + '--ffmpegremove', action='store_true', + help='Get the latest Chromium release from given channel and remove ffmpeg sources') parser_add_argument( '--chrome', action='store_true', help='Get the latest Chrome rpms for the given channel') @@ -315,14 +319,27 @@ if __name__ == '__main__': nacl_versions(chromium_version) if (args.cleansources): - junk_dirs = ['third_party/WebKit/Tools/Scripts/webkitpy/layout_tests', - 'webkit/data/layout_tests', 'third_party/hunspell/dictionaries', - 'chrome/test/data', 'native_client/tests', - 'third_party/WebKit/LayoutTests'] + junk_dirs = ['build/linux/debian_bullseye_amd64-sysroot', + 'build/linux/debian_bullseye_i386-sysroot', + 'third_party/node/linux/node-linux-x64', + 'third_party/rust-toolchain', + 'third_party/rust-src', + 'third_party/devtools-frontend/src/third_party/esbuild', + 'third_party/enterprise_companion/chromium_linux64', + 'third_party/enterprise_companion/chromium_mac_amd64', + 'third_party/enterprise_companion/chromium_mac_arm64', + 'third_party/enterprise_companion/chromium_win_x86', + 'third_party/enterprise_companion/chromium_win_x86_64'] + junk_files = ['third_party/node/linux/node-linux-x64.tar.gz', + 'buildtools/third_party/eu-strip/bin/eu-strip', + 'buildtools/linux64/gn'] # First, the dirs: for directory in junk_dirs: delete_chromium_dir(directory) + # Remove junk files + for file in junk_files: + delete_chromium_files(file) # There has got to be a better, more portable way to do this. os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \\;" % latest_dir) @@ -335,11 +352,20 @@ if __name__ == '__main__': if (args.ffmpegclean): print("Cleaning ffmpeg from proprietary things...") os.system("./clean_ffmpeg.sh %s %d" % (latest_dir, 0 if args.ffmpegarm else 1)) + print("Cleaning openh264 from proprietary things...") + os.system("find %s/third_party/openh264/* -type d | xargs rm -rf" % latest_dir) + print("Done!") + + if (args.ffmpegremove): + print("Removing ffmpeg source...") + os.system("find %s/third_party/ffmpeg/* -type d | xargs rm -rf" % latest_dir) + print("Cleaning openh264 from proprietary things...") + os.system("find %s/third_party/openh264/* -type d | xargs rm -rf" % latest_dir) print("Done!") if (not args.prep): print("Compressing cleaned tree, please wait...") os.chdir(chromium_root_dir) - os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file)) + os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -6 -T0 -f > %s" % (chromium_version, chromium_clean_xz_file)) print("Finished!") diff --git a/chromium.conf b/chromium.conf index b30a512..31173c6 100644 --- a/chromium.conf +++ b/chromium.conf @@ -1,3 +1,72 @@ # system wide chromium flags -CHROMIUM_FLAGS="" -CHROMIUM_FLAGS+=" --enable-features=VaapiVideoEncoder,VaapiVideoDecodeLinuxGL" + +ARCH="$(arch)" +MODE="$(systemd-detect-virt)" + +# GRAPHIC_DRIVER=[amd|intel|nvidia|default] +GRAPHIC_DRIVER=default + +# WEB_AUTO_DARKMODE_WEBCONTENT=[on|off] +WEB_AUTO_DARKMODE_WEBCONTENT=off + +# NATIVE_WAYLAND=[on|off] +# chromium >=141 switched to --ozone-platform-hint=auto +if [ ! -z "$WAYLAND_DISPLAY" ]; then + NATIVE_WAYLAND=on +else + NATIVE_WAYLAND=off +fi + +DISABLE_FEATURES="LensOverlay" +ENABLE_FEATURES="AllowQt" +CHROMIUM_FLAGS=" --enable-chrome-browser-cloud-management" +if [ "$NATIVE_WAYLAND" == "on" ] ; then + ENABLE_FEATURES+=",WaylandLinuxDrmSyncobj,WaylandPerSurfaceScale,WaylandUiScale" +else + CHROMIUM_FLAGS+=" --enable-gpu-memory-buffer-video-frames" + CHROMIUM_FLAGS+=" --enable-zero-copy" + CHROMIUM_FLAGS+=" --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround" + CHROMIUM_FLAGS+=" --enable-gpu-rasterization" +fi + +ENABLE_FEATURES+=",AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL" + +case "$GRAPHIC_DRIVER" in + amd|intel) + # Need new mesa with AMD multi planes support, is supported in fedora >= 40 (mesa-24.1.1 or newer) + # see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165 + CHROMIUM_FLAGS+=" --enable-accelerated-video-decode" + ENABLE_FEATURES+=",VaapiIgnoreDriverChecks,UseMultiPlaneFormatForHardwareVideo" + ;; + nvidia) + # The NVIDIA VaAPI drivers are known to not support Chromium + # see https://crbug.com/1492880. This feature switch is + # provided for developers to test VaAPI drivers on NVIDIA GPUs + ENABLE_FEATURES+=",VaapiOnNvidiaGPUs" + export CUDA_DISABLE_PERF_BOOST=1 + ;; + *) + ENABLE_FEATURES+=",AcceleratedVideoEncoder" + ;; +esac + +if [ "$MODE" != "none" ] ; then + # chromium in VM, running with standard setting + CHROMIUM_FLAGS="" + DISABLE_FEATURES="" + ENABLE_FEATURES="" +fi + +# Web Dark mode +if [ "$WEB_AUTO_DARKMODE_WEBCONTENT" == "on" ] ; then + darktype="WebContentsForceDark" + if [ -z "$ENABLE_FEATURES" ] ; then + ENABLE_FEATURES+="$darktype" + else + ENABLE_FEATURES+=",$darktype" + fi + CHROMIUM_FLAGS+=" --force-dark-mode" +fi + +[ -z "$DISABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --disable-features=$DISABLE_FEATURES" +[ -z "$ENABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --enable-features=$ENABLE_FEATURES" diff --git a/chromium.spec b/chromium.spec index b422646..735d788 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1,29 +1,28 @@ +# macro for el10 minor version +%define rhel_minor_version %(grep -oP '10\.[0-9.]*' /etc/redhat-release | cut -d '.' -f2) + %define _lto_cflags %{nil} +%global _default_patch_fuzz 2 # enable|disable system build flags %global system_build_flags 0 -# set default numjobs for the koji build -%ifarch aarch64 -%global numjobs 8 -%else %global numjobs %{_smp_build_ncpus} -%endif -# enable|disable all cpus for the build. -%global use_all_cpus 1 - -%if %{use_all_cpus} -%global numjobs %{_smp_build_ncpus} -%endif - # official builds have less debugging and go faster... but we have to shut some things off. %global official_build 1 +# enable|disble use_custom_libcxx +%global use_custom_libcxx 0 +%if 0%{?rhel} +# no libcxx in el +%global use_custom_libcxx 1 +%endif + # enable|disble bootstrap %global bootstrap 0 -# workaround for broken gn on epel 8/9 -%if 0%{?rhel} == 8 || 0%{?rhel} == 9 +# workaround for old gn on el9, it causes build error: unknown function filter_labels_include() +%if 0%{?rhel} == 9 %global bootstrap 1 %endif @@ -34,42 +33,35 @@ export NINJA_STATUS="[%2:%f/%t] " ; \ ninja -j %{numjobs} -C '%1' '%2' +# enable|disable chromedriver +%global build_chromedriver 1 +%if 0%{?flatpak} +%global build_chromedriver 0 +%endif + # enable|disable headless client build %global build_headless 1 - -# enable|disable chrome-remote-desktop build -%global build_remoting 0 +%if 0%{?flatpak} +%global build_headless 0 +%endif # set nodejs_version -%global nodejs_version v20.6.1 +%global nodejs_version v22.14.0 %global system_nodejs 1 -# RHEL 8 needs newer nodejs -%if 0%{?rhel} == 8 +# RHEL 9 needs newer nodejs +%if 0%{?rhel} == 9 %global system_nodejs 0 %endif -# set esbuild_version -%global esbuild_version 0.19.2 - -# set version for devtoolset and gcc-toolset -%global dts_version 12 -%if 0%{?rhel} == 8 || 0%{?rhel} == 9 -%global dts_version 13 +# enable gtk4 for fedora and el>9 +%global gtk_version 4 +%if 0%{?rhel} == 9 +%global gtk_version 3 %endif -# set version for llvm-toolset on el7 -%global llvm_toolset_version 14.0 - -# set name for toolset -%if 0%{?rhel} == 7 -%global toolset devtoolset -%else -%global toolset gcc-toolset -%endif - -%if 0%{?rhel} == 7 -%global chromium_pybin /usr/bin/python3 +%if 0%{?rhel} == 8 +%global chromium_pybin /usr/bin/python3.9 %else %global chromium_pybin %{__python3} %endif @@ -80,8 +72,8 @@ # v4l2_codec only enable for fedora aarch64 %global use_v4l2_codec 0 -# libva in EL7 and EL8 is too old. -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 +# libva is too old on el8 +%if 0%{?rhel} == 8 %global use_vaapi 0 %endif @@ -93,6 +85,10 @@ %endif %endif +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9 +%global noopenh264 1 +%endif + # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2239523 # Disable BTI until this is fixed upstream. %global disable_bti 0 @@ -103,12 +99,6 @@ %endif %endif -# Seems like we might need this sometimes -# Practically, no. But it's here in case we do. -%global use_gold 0 - -%global build_clear_key_cdm 0 - # Disabled because of Google, starting with Chromium 88. %global userestrictedapikeys 0 @@ -116,12 +106,15 @@ %global useapikey 1 # Leave this alone, please. -%global builddir out/Release +%global chromebuilddir out/Release %global headlessbuilddir out/Headless %global remotingbuilddir out/Remoting # enable|disable debuginfo %global enable_debug 1 +# disable debuginfo due to a bug in debugedit on el7 +# error: canonicalization unexpectedly shrank by one character +# https://bugzilla.redhat.com/show_bug.cgi?id=304121 %if ! %{enable_debug} %global debug_package %{nil} %global debug_level 0 @@ -131,12 +124,8 @@ %undefine _debugsource_packages %endif -# %%{nil} for Stable; -beta for Beta; -dev for Devel -# dash in -beta and -dev is intentional ! -%global chromium_channel %{nil} %global chromium_menu_name Chromium -%global chromium_browser_channel chromium-browser%{chromium_channel} -%global chromium_path %{_libdir}/chromium-browser%{chromium_channel} +%global chromium_path %{_libdir}/chromium-browser %global crd_path %{_libdir}/chrome-remote-desktop # We don't want any libs in these directories to generate Provides @@ -150,85 +139,90 @@ %global __provides_exclude_from ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$ %global __requires_exclude ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$ -# enable clang by default -%global clang 1 - -# set correct toolchain -%if %{clang} -%global toolchain clang -%else -%global toolchain gcc +# enable|disable control flow integrity support +%global cfi 0 +%ifarch x86_64 aarch64 +%global cfi 1 %endif -# enable|disable system brotli -# disable system brotli due to old system brotli -%global bundlebrotli 1 - -# Chromium's fork of ICU is now something we can't unbundle. -# This is left here to ease the change if that ever switches. -%global bundleicu 1 +# enable qt backend +%global enable_qt 1 +%if %{enable_qt} +%if 0%{?rhel} > 9 || 0%{?fedora} > 39 +%global use_qt6 1 +%global use_qt5 1 +%else +%global use_qt6 0 +%global use_qt5 1 +%endif +%else +%global use_qt6 0 +%global use_qt5 0 +%endif +# bundle re2, jsoncpp, woff2 - build errors with use_custom_libcxx=true %global bundlere2 1 - -# The libxml_utils code depends on the specific bundled libxml checkout -# which is not compatible with the current code in the Fedora package as of -# 2017-06-08. -%global bundlelibxml 1 - -# Fedora's Python 2 stack is being removed, we use the bundled Python libraries -# This can be revisited once we upgrade to Python 3 -%global bundlepylibs 0 - -# RHEL 7.9 dropped minizip. -# It exists everywhere else though. -%global bundleminizip 0 -%if 0%{?rhel} == 7 -%global bundleminizip 1 -%endif - -# enable qt backend for el >= 8 and fedora -%if 0%{?rhel} >= 8 || 0%{?fedora} -%global use_qt 1 -%else -%global use_qt 0 -%endif - -# enable gtk3 by default -%global gtk3 1 - -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%global bundleopus 1 -%global bundlelibusbx 1 -%global bundleharfbuzz 1 +%global bundlejsoncpp 1 +%global bundlewoff2 1 +%global bundlelibaom 1 +%global bundlelibavif 1 +%global bundlesnappy 1 +%global bundlezstd 1 +%global bundleicu 1 +%global bundledav1d 1 +%global bundlebrotli 1 %global bundlelibwebp 1 +%global bundlecrc32c 1 +%global bundleharfbuzz 1 %global bundlelibpng 1 %global bundlelibjpeg 1 %global bundlefreetype 1 %global bundlelibdrm 1 %global bundlefontconfig 1 %global bundleffmpegfree 1 -%global bundlelibaom 1 -%else -# Chromium really wants to use its bundled harfbuzz. Sigh. -%if 0%{?fedora} > 37 -%global bundleharfbuzz 0 -%else -%global bundleharfbuzz 1 -%endif -%global bundleopus 0 +%global bundlehighway 1 +# openjpeg2, need to update to 2.5.x +%global bundlelibopenjpeg2 1 +%global bundlelibtiff 1 +# libxml2, need to update to 2.14.x for bz#2368923 +%global bundlelibxml 1 +%global bundlepylibs 0 +%global bundlelibxslt 0 +%global bundleflac 0 +%global bundledoubleconversion 0 +%global bundlelibXNVCtrl 0 %global bundlelibusbx 0 -%global bundlelibwebp 0 +%global bundlelibsecret 0 +%global bundleopus 0 +%global bundlelcms2 0 +%global bundlesimdutf 1 + +# workaround for build error +# disable bundleminizip for Fedora > 39 due to switch to minizip-ng +# disable bundleminizip for epel and Fedora39 due to old minizip version +%global bundleminizip 1 + +%if 0%{?fedora} || 0%{?rhel} > 8 +%global bundlezstd 0 +%global bundlefontconfig 0 +%global bundledav1d 0 %global bundlelibpng 0 %global bundlelibjpeg 0 %global bundlelibdrm 0 -%global bundlefontconfig 0 %global bundleffmpegfree 0 -%global bundlelibaom 1 -# system freetype on fedora > 36 -%if 0%{?fedora} %global bundlefreetype 0 -%else -%global bundlefreetype 1 +%if 0%{?fedora} > 41 +# require libtiff-4.6.1 or newer, error: use of undeclared identifier 'TIFFOpenOptionsSetMaxCumulatedMemAlloc' +%global bundlelibtiff 0 +%endif +%if 0%{?fedora} +%global bundlecrc32c 0 +%endif +%if 0%{?fedora} || 0%{?rhel} > 9 +%global bundlelibopenjpeg2 0 +%global bundleharfbuzz 0 +%global bundlebrotli 0 +%global bundlelibwebp 0 %endif %endif @@ -265,165 +259,231 @@ %global chromoting_client_id %nil %endif -Name: chromium%{chromium_channel} -Version: 119.0.6045.199 +Name: chromium +Version: 144.0.7559.59 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only) -### Chromium Fedora Patches ### -Patch0: chromium-70.0.3538.67-sandbox-pie.patch - # Use /etc/chromium for initial_prefs Patch1: chromium-115-initial_prefs-etc-path.patch -# system libusb -Patch2: chromium-119-system-libusb.patch - -# Do not mangle zlib -Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch - -# Do not use unrar code, it is non-free -Patch6: chromium-119-norar.patch - # Try to load widevine from other places Patch8: chromium-117-widevine-other-locations.patch -# Tell bootstrap.py to always use the version of Python we specify -Patch11: chromium-93.0.4577.63-py3-bootstrap.patch - -# Add "Fedora" to the user agent string -Patch12: chromium-101.0.4951.41-fedora-user-agent.patch - -# debian patch, disable font-test +# debian patches +# disable font-test Patch20: chromium-disable-font-tests.patch +# don't download binary blob +Patch21: chromium-123-screen-ai-service.patch -# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch -Patch52: chromium-81.0.4044.92-unbundle-zlib.patch +# Fix link error when building with system libcxx +Patch22: chromium-131-fix-qt-ui.pach -# Fix headers to look for system paths when we are using system minizip -Patch61: chromium-119-system-minizip-header-fix.patch +# Workaround for build error: ERROR Unresolved dependencies. +#//chrome/test:captured_sites_interactive_tests(//build/toolchain/linux/unbundle:default) +# needs //third_party/libpng:libpng_for_testonly(//build/toolchain/linux/unbundle:default) +Patch23: chromium-143-revert-libpng_for_testonly.patch -# Fix issue where closure_compiler thinks java is only allowed in android builds -# https://bugs.chromium.org/p/chromium/issues/detail?id=1192875 -Patch65: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch - -# Update rjsmin to 1.2.0 -Patch69: chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch - -# Update six to 1.16.0 -Patch70: chromium-105.0.5195.52-python-six-1.16.0.patch +# Get around the problem of auto darkmode webcontent inverting and making them unreadable +Patch30: chromium-143-autodarkmode-workaround.patch # Disable tests on remoting build Patch82: chromium-98.0.4758.102-remoting-no-tests.patch # patch for using system brotli -Patch89: chromium-116-system-brotli.patch +Patch89: chromium-142-system-brotli.patch -# disable GlobalMediaControlsCastStartStop to avoid crash -# when using the address bar media player button -Patch90: chromium-119-disable-GlobalMediaControlsCastStartStop.patch +# patch for using system libxml +Patch90: chromium-121-system-libxml.patch # patch for using system opus Patch91: chromium-108-system-opus.patch -# need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC, F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL -Patch100: chromium-116-el7-include-fcntl-memfd.patch +# patch for Failed NodeJS version check +Patch92: chromium-138-checkversion-nodejs.patch -# add define HAVE_STRNDUP on epel7 -Patch101: chromium-108-el7-wayland-strndup-error.patch +# fix build error +Patch93: chromium-141-csss_style_sheet.patch -# Work around old and missing headers on EPEL7 -Patch103: chromium-110-epel7-old-headers-workarounds.patch +# FTBFS - error: cannot find attribute `sanitize` in this scope +# --> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41 +# | +# 210 | #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] +Patch96: chromium-142-crabbyavif-ftbfs-old-rust.patch -# Use old cups (chromium's code workaround breaks on gcc) -# Revert: https://github.com/chromium/chromium/commit/c3213f8779ddc427e89d982514185ed5e4c94e91 -Patch104: chromium-99.0.4844.51-epel7-old-cups.patch - -# libdrm on EL7 is rather old and chromium assumes newer -# This gets us by for now -Patch105: chromium-85.0.4183.83-el7-old-libdrm.patch - -# error: no matching function for call to 'std::basic_string::erase(std::basic_string::const_iterator, __gnu_cxx::__normal_iterator >&)' -# 33 | property_name.erase(property_name.cbegin(), cur); -# Not sure how this EVER worked anywhere, but it only seems to fail on EPEL-7. -Patch106: chromium-98.0.4758.80-epel7-erase-fix.patch - -# Add additional operator== to make el7 happy. -Patch107: chromium-99.0.4844.51-el7-extra-operator.patch -# old v4l2 on el7 -Patch108: chromium-118-el7_v4l2_quantization.patch -# workaround for clang bug on el7 -Patch109: chromium-114-wireless-el7.patch -Patch110: chromium-115-buildflag-el7.patch -Patch111: chromium-116-constexpr.patch -Patch112: chromium-117-el7-default_constructor.patch +# FTBFS - /usr/include/bits/siginfo-consts.h:219:3: error: expected identifier +# 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ +Patch97: chromium-141-glibc-2.42-SYS_SECCOMP.patch # system ffmpeg -# need for old ffmpeg 5.x on epel9 and fedora 37 -Patch114: chromium-107-ffmpeg-5.x-duration.patch +# need for old ffmpeg 5.x on epel9 +Patch128: chromium-138-el9-ffmpeg-deprecated-apis.patch +Patch129: chromium-el9-ffmpeg-AV_CODEC_FLAG_COPY_OPAQUE.patch +Patch130: chromium-142-el9-ffmpeg-5.x-duration.patch # disable the check -Patch115: chromium-107-proprietary-codecs.patch +Patch131: chromium-107-proprietary-codecs.patch # fix tab crash with SIGTRAP error when using system ffmpeg -Patch117: chromium-118-sigtrap_system_ffmpeg.patch - -# revert AV1 VAAPI video encode due to old libva on el9 -Patch130: chromium-119-revert-av1enc-el9.patch +Patch132: chromium-118-sigtrap_system_ffmpeg.patch +# need for old ffmpeg 6.0/5.x on epel9 and fedora < 40 +Patch133: chromium-142-el9-ffmpeg-5.1.x.patch +# revert, it causes build error: use of undeclared identifier 'AVFMT_FLAG_NOH264PARSE' +Patch135: chromium-133-disable-H.264-video-parser-during-demuxing.patch +# Workaround for youtube stop working +Patch136: chromium-133-workaround-system-ffmpeg-whitelist.patch # file conflict with old kernel on el8/el9 -Patch140: chromium-118-dma_buf_export_sync_file-conflict.patch +Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch -# fixes for old clang version in fedora < 38 end epel < 8 (old clang <= 15) -# compiler build errors, no matching constructor for initialization -Patch300: chromium-119-no_matching_constructor.patch -Patch301: chromium-115-compiler-SkColor4f.patch +# fix ftbfs caused by old python-3.9 on el8 +Patch142: chromium-143-python-3.9-ftbfs.patch -# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 -Patch302: chromium-118-workaround_clang_bug-structured_binding.patch +# add correct path for Qt6Gui header and libs +Patch150: chromium-124-qt6.patch -# missing typename -Patch303: chromium-117-typename.patch +# revert, it causes ramdom crash on aarch64 +Patch300: chromium-131-revert-decommit-pooled-pages-by-default.patch -# error: invalid operands to binary expression -Patch304: chromium-117-string-convert.patch +# Disable rust nightly features +Patch301: chromium-144-rust-libadler2.patch -# error: constexpr constructor's 3rd parameter type 'std::string' (aka 'basic_string') is not a literal type -Patch305: chromium-119-constexpr.patch +# disable memory tagging (epel8 on aarch64) due to new feature IFUNC-Resolver +# it is not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found +Patch305: chromium-124-el8-arm64-memory_tagging.patch +Patch306: chromium-127-el8-ifunc-header.patch -Patch306: chromium-119-assert.patch +# workaround for build error due to old atk version on el8 +Patch307: chromium-134-el8-atk-compiler-error.patch +# Fix build errors due to old clang18 in el8 +Patch308: chromium-136-unsupport-clang-flags.patch +Patch309: chromium-132-el8-unsupport-rustc-flags.patch -# disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver -# not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found -Patch307: chromium-118-arm64-memory_tagging.patch +# Fix rhbz#2387446, FTBFS with rust-1.89.0 +Patch310: chromium-139-rust-FTBFS-suppress-warnings.patch -# missing include header files -Patch310: chromium-119-missing-header-files.patch +# enable fstack-protector-strong +Patch311: chromium-123-fstack-protector-strong.patch -# clang warnings -Patch311: chromium-115-clang-warnings.patch +# Fix FTBFS: undefined symbol: __rust_no_alloc_shim_is_unstable on EL9 +# Error: unsafe attribute used without unsafe +# --> ../../build/rust/allocator/lib.rs:107:7 +Patch312: chromium-143-el9-rust-no-alloc-shim-is-unstable.patch -# imp module is removed in python-3.12 in fedora 39 and newer -Patch312: chromium-118-python-3.12-deprecated.patch +# Fix FTBFS on EL9 +# - error: undefined symbol: __rust_alloc_error_handler_should_panic +Patch313: chromium-143-el9-rust_alloc_error_handler_should_panic.patch -# build error -Patch351: chromium-117-mnemonic-error.patch +# old rust version causes build error on el8: +# error[E0599]: no method named `is_none_or` found for enum `Option` in the current scope +Patch314: chromium-136-rust-skrifa-build-error.patch + +# add -ftrivial-auto-var-init=zero and -fwrapv +Patch316: chromium-122-clang-build-flags.patch + +# unknown warning option -Wno-nontrivial-memcall +Patch317: chromium-142-clang++-unknown-argument.patch + +Patch318: memory-allocator-dcheck-assert-fix.patch + +# compile swiftshader against llvm-16.0 +Patch319: chromium-143-swiftshader-llvm-16.0.patch # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2239523 # https://bugs.chromium.org/p/chromium/issues/detail?id=1145581#c60 # Disable BTI until this is fixed upstream. Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch +# workaround for build error on aarch64 +Patch353: chromium-127-aarch64-duplicate-case-value.patch + +# remove flag split-threshold-for-reg-with-hint, it's not supported in clang <= 17 +Patch354: chromium-142-split-threshold-for-reg-with-hint.patch + +# fix build error: no member named 'hardware_destructive_interference_size' in namespace 'std' +Patch355: chromium-130-hardware_destructive_interference_size.patch + +# fix build error: +# ../../build/modules/linux-x64/module.modulemap:11:12: error: header '../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h' not found +Patch356: chromium-141-use_libcxx_modules.patch + +# error: no matching member function for call to 'Append' +Patch357: chromium-134-type-mismatch-error.patch + +# set clang_lib path +Patch358: chromium-144-rust-clanglib.patch + +# PowerPC64 LE support +# Timothy Pearson's patchset +# https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches +Patch359: add-ppc64-architecture-string.patch +Patch361: 0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch + +Patch376: 0001-third_party-angle-Include-missing-header-cstddef-in-.patch +Patch377: 0001-Add-PPC64-support-for-boringssl.patch +Patch378: 0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch +Patch380: 0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch +Patch381: 0002-Add-PPC64-generated-files-for-boringssl.patch +Patch382: 0002-third_party-lss-kernel-structs.patch + +# error: undefined symbol: llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF() +Patch383: 0001-swiftshader-fix-build.patch + +Patch384: Rtc_base-system-arch.h-PPC.patch + +Patch386: 0004-third_party-crashpad-port-curl-transport-ppc64.patch + +Patch387: HACK-third_party-libvpx-use-generic-gnu.patch +Patch389: HACK-debian-clang-disable-base-musttail.patch +Patch390: HACK-debian-clang-disable-pa-musttail.patch +Patch391: 0001-Add-ppc64-target-to-libaom.patch +Patch392: 0001-Add-pregenerated-config-for-libaom-on-ppc64.patch + +Patch393: 0002-third_party-libvpx-Remove-bad-ppc64-config.patch +Patch394: 0003-third_party-libvpx-Add-ppc64-generated-config.patch +# Enabling VSX causes artifacts to appear in VP9 videos +Patch395: 0004-third_party-libvpx-work-around-ambiguous-vsx.patch + +# Enable VSX acceleration in Skia. Requires POWER8 or higher. +Patch396: skia-vsx-instructions.patch + +Patch397: 0001-Implement-support-for-ppc64-on-Linux.patch +Patch398: 0001-Implement-support-for-PPC64-on-Linux.patch +Patch399: 0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch +Patch401: fix-rustc.patch +Patch402: fix-rust-linking.patch +Patch403: fix-breakpad-compile.patch +Patch404: fix-partition-alloc-compile.patch +Patch405: fix-study-crash.patch +Patch407: fix-different-data-layouts.patch +Patch408: 0002-Add-ppc64-trap-instructions.patch + +Patch409: fix-page-allocator-overflow.patch +Patch410: 0001-Enable-ppc64-pointer-compression.patch + +Patch411: dawn-fix-ppc64le-detection.patch +Patch412: add-ppc64-architecture-to-extensions.diff + +# Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed +Patch413: fix-unknown-warning-option-messages.diff +Patch415: add-ppc64-pthread-stack-size.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 +Patch501: flatpak-Adjust-paths-for-the-sandbox.patch +Patch502: flatpak-Expose-Widevine-into-the-sandbox.patch + +# nodejs patches +%if ! %{system_nodejs} +Patch510: 0001-Remove-unused-OpenSSL-config.patch +Patch511: 0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch +%endif + # upstream patches -# revert due to build error redefine ATSPI version macros -Patch400: chromium-119-dont-redefine-ATSPI-version-macros.patch -# fix build error, nullptr_t without namespace std:: -Patch401: chromium-119-nullptr_t-without-namespace-std.patch -# workaround for buggy Nvidia drivers fail to return FDs for planes -# of a BO which had already an imported BO destroyed before. -Patch402: chromium-119-nvidia-use-separate-bo-to-verify-modifier.patch -# hide UseChromeOSDirectVideoDecoder flag on VA-API devices to avoid crashes -Patch403: chromium-119-hide-UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -434,7 +494,7 @@ Source0: chromium-%{version}-clean.tar.xz Source1: README.fedora Source2: chromium.conf Source3: chromium-browser.sh -Source4: %{chromium_browser_channel}.desktop +Source4: chromium-browser.desktop # Also, only used if you want to reproduce the clean tarball. Source5: clean_ffmpeg.sh Source6: chromium-latest.py @@ -444,47 +504,38 @@ Source7: get_free_ffmpeg_source_files.py Source8: get_linux_tests_names.py # GNOME stuff Source9: chromium-browser.xml -Source10: chrome-remote-desktop@.service +Source10: chromium-browser.appdata.xml Source11: master_preferences %if ! %{system_nodejs} -Source12: https://nodejs.org/dist/%{nodejs_version}/node-%{nodejs_version}-linux-x64.tar.xz -Source13: https://nodejs.org/dist/%{nodejs_version}/node-%{nodejs_version}-linux-arm64.tar.xz +# nodejs bundles openssl, but we use the system version in el9 +# because openssl contains prohibited code, we remove openssl completely from +# the tarball, using the script in Source13 +# http://nodejs.org/dist/v${version}/node-${nodejs_version}.tar.gz +Source12: node-%{nodejs_version}-stripped.tar.gz +Source13: nodejs-sources.sh +BuildRequires: openssl-devel %endif -# esbuild binary -%if 0%{?rhel} -Source14: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-%{esbuild_version}.tgz -Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuild_version}.tgz -%endif - -# esbuild binary from fedora -%if 0%{?fedora} -BuildRequires: golang-github-evanw-esbuild -%endif - -%if %{clang} -%if 0%{?rhel} == 7 -BuildRequires: llvm-toolset-%{llvm_toolset_version} -%else BuildRequires: clang BuildRequires: clang-tools-extra BuildRequires: llvm BuildRequires: lld + +%if ! %{use_custom_libcxx} +BuildRequires: libcxx-devel %endif -# needs for libatomic -%if 0%{?rhel} >= 7 -BuildRequires: %{toolset}-%{dts_version}-libatomic-devel -%endif -%else -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -BuildRequires: %{toolset}-%{dts_version}-toolchain, %{toolset}-%{dts_version}-libatomic-devel -%endif -%if 0%{?fedora} || 0%{?rhel} > 8 -BuildRequires: gcc-c++ -BuildRequires: gcc -BuildRequires: binutils + +%if 0%{?rhel} && 0%{?rhel} <= 9 +BuildRequires: gcc-toolset-14-libatomic-devel %endif + +BuildRequires: rustc +BuildRequires: rustfmt +BuildRequires: bindgen-cli + +%if ! %{bundlezstd} +BuildRequires: libzstd-devel %endif # build with system ffmpeg-free @@ -493,15 +544,10 @@ BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) -# chromium fail to start for rpmfusion users due to ABI break in ffmpeg-free-6.0.1 -# bethween fedora and rpmfussion. -%if 0%{?rhel} == 9 || 0%{?fedora} == 37 -Conflicts: libavformat-free%{_isa} < 5.1.4 -Conflicts: ffmpeg-libs%{_isa} < 5.1.4 -%else -Conflicts: libavformat-free%{_isa} < 6.0.1 -Conflicts: ffmpeg-libs%{_isa} < 6.0.1-2 %endif + +%if 0%{?noopenh264} +BuildRequires: pkgconfig(openh264) %endif # build with system libaom @@ -522,11 +568,18 @@ BuildRequires: glib2-devel BuildRequires: glibc-devel BuildRequires: gperf -%if %{use_qt} +%if %{use_qt5} BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Widgets) %endif +%if %{use_qt6} +BuildRequires: pkgconfig(Qt6Core) +BuildRequires: pkgconfig(Qt6Widgets) +%endif + +BuildRequires: compiler-rt + %if ! %{bundleharfbuzz} BuildRequires: harfbuzz-devel >= 2.4.0 %endif @@ -543,7 +596,7 @@ BuildRequires: libgcrypt-devel BuildRequires: libudev-devel BuildRequires: libuuid-devel -%if 0%{?fedora} >= 37 +%if 0%{?fedora} >= 37 || 0%{?rhel} > 9 BuildRequires: libusb-compat-0.1-devel %else BuildRequires: libusb-devel @@ -580,8 +633,9 @@ BuildRequires: pciutils-devel BuildRequires: pulseaudio-libs-devel # For screen sharing on Wayland -%if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: pkgconfig(libpipewire-0.3) +# pipewire is old on el8, chromium needs new version, disable it temporary +%if 0%{?fedora} || 0%{?rhel} > 8 +BuildRequires: pipewire-devel %endif # for /usr/bin/appstream-util @@ -598,24 +652,66 @@ BuildRequires: dbus-glib-devel # For eu-strip BuildRequires: elfutils BuildRequires: elfutils-libelf-devel + +%if ! %{bundleflac} BuildRequires: flac-devel +%endif %if ! %{bundlefreetype} BuildRequires: freetype-devel %endif +%if ! %{bundlecrc32c} +BuildRequires: google-crc32c-devel +%endif + +%if ! %{bundlewoff2} +BuildRequires: woff2-devel +%endif + +%if ! %{bundledav1d} +BuildRequires: libdav1d-devel +%endif + +%if ! %{bundlehighway} +BuildRequires: highway-devel +%endif + +%if ! %{bundlelibavif} +BuildRequires: libavif-devel +%endif + +%if ! %{bundlejsoncpp} +BuildRequires: jsoncpp-devel +%endif + +%if ! %{bundlelibsecret} +BuildRequires: libsecret-devel +%endif + +%if ! %{bundledoubleconversion} +BuildRequires: double-conversion-devel +%endif + +%if ! %{bundlesnappy} +BuildRequires: snappy-devel +%endif + +%if ! %{bundlelibXNVCtrl} +BuildRequires: libXNVCtrl-devel +%endif + # One of the python scripts invokes git to look for a hash. So helpful. -BuildRequires: /usr/bin/git +BuildRequires: git-core BuildRequires: hwdata BuildRequires: kernel-headers -BuildRequires: libevent-devel BuildRequires: libffi-devel %if ! %{bundleicu} # If this is true, we're using the bundled icu. # We'd like to use the system icu every time, but we cannot always do that. # Not newer than 54 (at least not right now) -BuildRequires: libicu-devel = 54.1 +BuildRequires: libicu-devel >= 68 %endif %if ! %{bundlelibjpeg} @@ -630,6 +726,18 @@ BuildRequires: libjpeg-devel BuildRequires: libpng-devel %endif +%if ! %{bundlelibopenjpeg2} +BuildRequires: openjpeg2-devel +%endif + +%if ! %{bundlelcms2} +BuildRequires: lcms2-devel +%endif + +%if ! %{bundlelibtiff} +BuildRequires: libtiff-devel +%endif + BuildRequires: libudev-devel %if ! %{bundlelibusbx} @@ -648,7 +756,10 @@ BuildRequires: libva-devel BuildRequires: libwebp-devel %endif +%if ! %{bundlelibxslt} BuildRequires: libxslt-devel +%endif + BuildRequires: libxshmfence-devel # Same here, it seems. @@ -659,30 +770,40 @@ BuildRequires: mesa-libGL-devel BuildRequires: opus-devel %endif -BuildRequires: perl(Switch) BuildRequires: %{chromium_pybin} -BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: python3-devel -BuildRequires: python3-zipp -BuildRequires: python3-simplejson -BuildRequires: python3-importlib-metadata - -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -BuildRequires: python3-dataclasses +%if %{gtk_version} == 4 +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xscrnsaver) +BuildRequires: pkgconfig(xshmfence) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcb-dri3) +BuildRequires: pkgconfig(xcb-proto) +Requires: gtk4 +%else +BuildRequires: pkgconfig(gtk+-3.0) +# GTK modules it expects to find for some reason. +Requires: libcanberra-gtk3%{_isa} %endif +# Build deps of Chromium proper which are often transitively pulled in by toolkits (GTK, Qt), +# but are still required without them. +BuildRequires: pkgconfig(atspi-2) +BuildRequires: pkgconfig(atk-bridge-2.0) +BuildRequires: pkgconfig(pangocairo) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xrandr) +BuildRequires: wayland-devel + %if ! %{bundlepylibs} %if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: python3-beautifulsoup4 -BuildRequires: python3-html5lib -BuildRequires: python3-markupsafe -BuildRequires: python3-ply BuildRequires: python3-jinja2 %else -BuildRequires: python-beautifulsoup4 -BuildRequires: python-html5lib -BuildRequires: python-markupsafe -BuildRequires: python-ply BuildRequires: python-jinja2 %endif %endif @@ -697,7 +818,6 @@ BuildRequires: brotli-devel %endif BuildRequires: speech-dispatcher-devel -BuildRequires: yasm BuildRequires: zlib-devel # remote desktop needs this @@ -709,109 +829,97 @@ BuildRequires: ninja-build # Yes, java is needed as well.. %if %{build_headless} -BuildRequires: java-1.8.0-openjdk-headless +BuildRequires: java-openjdk-headless %endif BuildRequires: libevdev-devel +%if ! %{bundlesimdutf} +BuildRequires: simdutf-devel +%endif + # There is a hardcoded check for nss 3.26 in the chromium code (crypto/nss_util.cc) Requires: nss%{_isa} >= 3.26 Requires: nss-mdns%{_isa} -# GTK modules it expects to find for some reason. -%if %{gtk3} -Requires: libcanberra-gtk3%{_isa} -%else -Requires: libcanberra-gtk2%{_isa} -%endif - -%if 0%{?fedora} +%if 0%{?fedora} && %{undefined flatpak} # This enables support for u2f tokens Requires: u2f-hidraw-policy %endif Requires: chromium-common%{_isa} = %{version}-%{release} -# rhel 7: x86_64 -# rhel 8+ and fedora 37+: x86_64 aarch64 -%if 0%{?rhel} == 7 -ExclusiveArch: x86_64 +# el9: x86_64, aarch64 +# el10, fedora: x86_64, aarch64, ppc64le +%if 0%{?fedora} || 0%{?rhel} >= 10 +ExclusiveArch: x86_64 aarch64 ppc64le %else ExclusiveArch: x86_64 aarch64 %endif # Bundled bits (I'm sure I've missed some) -Provides: bundled(angle) = 2422 Provides: bundled(bintrees) = 1.0.1 # This is a fork of openssl. Provides: bundled(boringssl) - %if %{bundlebrotli} Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e %endif - -Provides: bundled(bspatch) -Provides: bundled(cacheinvalidation) = 20150720 -Provides: bundled(colorama) = 799604a104 -Provides: bundled(crashpad) -Provides: bundled(dmg_fp) -Provides: bundled(expat) = 2.2.0 -Provides: bundled(fdmlibm) = 5.3 +%if %{bundlesimdutf} +Provides: bundled(simdutf) = 7.0.0 +%endif +Provides: bundled(bspatch) = 465265d0d473d107b76e74d969199eaf2cdc8750 +Provides: bundled(colorama) = 0.4.6 +Provides: bundled(crashpad) = 8f131016b21d986c38ca4a0f091403dbb822d636 +Provides: bundled(expat) = 2.7.1 +Provides: bundled(fdmlibm) = c512d6173f33c6b8301d3fba9384edc9fc1f9e45 # Don't get too excited. MPEG and other legally problematic stuff is stripped out. %if %{bundleffmpegfree} -Provides: bundled(ffmpeg) = 6.0 +Provides: bundled(ffmpeg) = 7.1.git %endif %if %{bundlelibaom} -Provides: bundled(libaom) +Provides: bundled(libaom) = 3.12.1 %endif -Provides: bundled(fips181) = 2.2.3 - %if %{bundlefontconfig} -Provides: bundled(fontconfig) = 2.12.6 +Provides: bundled(fontconfig) = 8cf0ce700a8abe0d97ace4bf7efc7f9534b729ba %endif %if %{bundlefreetype} -Provides: bundled(freetype) = 2.11.0git +Provides: bundled(freetype) = VER-2-13-3-230-ge07e56c7f %endif -Provides: bundled(gperftools) = svn144 - %if %{bundleharfbuzz} -Provides: bundled(harfbuzz) = 2.4.0 +Provides: bundled(harfbuzz) = 11.0.0-97 %endif -Provides: bundled(hunspell) = 1.6.0 -Provides: bundled(iccjpeg) +Provides: bundled(hunspell) = 6d7d19f %if %{bundleicu} -Provides: bundled(icu) = 58.1 +Provides: bundled(icu) = 74-2 %endif -Provides: bundled(kitchensink) = 1 -Provides: bundled(leveldb) = 1.20 -Provides: bundled(libaddressinput) = 0 +Provides: bundled(leveldb) = 1.23 +Provides: bundled(libaddressinput) = 2610f7b104 %if %{bundlelibdrm} -Provides: bundled(libdrm) = 2.4.85 +Provides: bundled(libdrm) = 2.4.122 %endif -Provides: bundled(libevent) = 1.4.15 -Provides: bundled(libjingle) = 9564 +Provides: bundled(libjingle) = 5493b8a59deb16cf0481e24707a0ed72d19047dc %if %{bundlelibjpeg} -Provides: bundled(libjpeg-turbo) = 1.4.90 +Provides: bundled(libjpeg-turbo) = 3.1.0 %endif -Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4 +Provides: bundled(libphonenumber) = 140dfeb81b753388e8a672900fb7a971e9a0d362 %if %{bundlelibpng} -Provides: bundled(libpng) = 1.6.22 +Provides: bundled(libpng) = 1.6.43 %endif -Provides: bundled(libsrtp) = 2cbd85085037dc7bf2eda48d4cf62e2829056e2d +Provides: bundled(libsrtp) = fd08747fa6800b321d53e15feb34da12dc697dee %if %{bundlelibusbx} Provides: bundled(libusbx) = 1.0.17 @@ -824,20 +932,17 @@ Provides: bundled(libwebp) = 0.6.0 %endif %if %{bundlelibxml} -# Well, it's actually newer than 2.9.4 and has code in it that has been reverted upstream... but eh. -Provides: bundled(libxml) = 2.9.4 +Provides: bundled(libxml) = 2.14.2 %endif +%if %{bundlelibXNVCtrl} Provides: bundled(libXNVCtrl) = 302.17 -Provides: bundled(libyuv) = 1651 -Provides: bundled(lzma) = 15.14 -Provides: bundled(libudis86) = 1.7.1 -Provides: bundled(mesa) = 9.0.3 -Provides: bundled(NSBezierPath) = 1.0 -Provides: bundled(mozc) +%endif +Provides: bundled(libyuv) = 1909 +Provides: bundled(lzma) = 24.09 %if %{bundleopus} -Provides: bundled(opus) = 1.1.3 +Provides: bundled(opus) = 55513e81 %endif Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0 @@ -864,9 +969,11 @@ Provides: bundled(xdg-mime) Provides: bundled(xdg-user-dirs) # Provides: bundled(zlib) = 1.2.11 +%if %{undefined flatpak} # For selinux scriptlet Requires(post): /usr/sbin/semanage Requires(post): /usr/sbin/restorecon +%endif %description Chromium is an open-source web browser, powered by WebKit (Blink). @@ -874,32 +981,9 @@ Chromium is an open-source web browser, powered by WebKit (Blink). %package common Summary: Files needed for both the headless_shell and full Chromium -# -common doesn't have chrome-remote-desktop bits -# but we need to clean it up if it gets disabled again -# NOTE: Check obsoletes version to be sure it matches -%if ! %{build_remoting} -Provides: chrome-remote-desktop = %{version}-%{release} -Obsoletes: chrome-remote-desktop <= 81.0.4044.138 -%endif - %description common %{summary}. -%if %{build_remoting} -%package -n chrome-remote-desktop -Requires(pre): shadow-utils -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -Requires: xorg-x11-server-Xvfb -Requires: python3-psutil -Requires: chromium-common%{_isa} = %{version}-%{release} -Summary: Remote desktop support for google-chrome & chromium - -%description -n chrome-remote-desktop -Remote desktop support for google-chrome & chromium. -%endif - %package -n chromedriver Summary: WebDriver for Google Chrome/Chromium Requires: chromium-common%{_isa} = %{version}-%{release} @@ -920,165 +1004,206 @@ A minimal headless client built from Chromium. headless_shell is built without support for alsa, cups, dbus, gconf, gio, kerberos, pulseaudio, or udev. +%package qt5-ui +Summary: Qt5 UI built from Chromium +Requires: chromium%{_isa} = %{version}-%{release} + +%description qt5-ui +Qt5 UI for chromium. + +%package qt6-ui +Summary: Qt6 UI built from Chromium +Requires: chromium%{_isa} = %{version}-%{release} + +%description qt6-ui +Qt6 UI for chromium. + %prep %setup -q -n chromium-%{version} ### Chromium Fedora Patches ### -%patch -P0 -p1 -b .sandboxpie %patch -P1 -p1 -b .etc -%patch -P2 -p1 -b .system-libusb -%patch -P5 -p1 -b .nozlibmangle -%patch -P6 -p1 -b .nounrar %patch -P8 -p1 -b .widevine-other-locations -%patch -P11 -p1 -b .py3 %patch -P20 -p1 -b .disable-font-test - -%if 0%{?fedora} || 0%{?rhel} >= 8 -%patch -P52 -p1 -b .unbundle-zlib +%patch -P21 -p1 -b .screen-ai-service +%if ! %{use_custom_libcxx} +%patch -P22 -p1 -b .fix-qt-ui %endif -%if ! %{bundleminizip} -%patch -P61 -p1 -b .system-minizip -%endif - -%patch -P65 -p1 -b .java-only-allowed -%patch -P69 -p1 -b .update-rjsmin-to-1.2.0 -%patch -P70 -p1 -b .update-six-to-1.16.0 +%patch -P23 -p1 -R -b .revert-libpng_for_testonly +%patch -P30 -p1 -b .autodarkmode-workaround %patch -P82 -p1 -b .remoting-no-tests %if ! %{bundlebrotli} %patch -P89 -p1 -b .system-brotli %endif -%patch -P90 -p1 -b .disable-GlobalMediaControlsCastStartStop +%if ! %{bundlelibxml} +%if 0%{?fedora} && 0%{?fedora} < 40 || 0%{?rhel} && 0%{?rhel} < 10 +%patch -P90 -p1 -b .system-libxml +%endif +%endif %if ! %{bundleopus} %patch -P91 -p1 -b .system-opus %endif -# Fedora branded user agent -%if 0%{?fedora} -%patch -P12 -p1 -b .fedora-user-agent +%patch -P92 -p1 -b .nodejs-checkversion +%patch -P93 -p1 -b .ftbfs-csss_style_sheet +%patch -P96 -p1 -b .crabbyavif-ftbfs-old-rust + +%if 0%{?fedora} > 43 +%patch -P97 -p1 -b .glibc-2.42-SYS_SECCOMP %endif %if ! %{bundleffmpegfree} -%if 0%{?rhel} == 9 || 0%{?fedora} == 37 -%patch -P114 -p1 -b .ffmpeg-5.x-duration +%if 0%{?rhel} == 9 +%patch -P128 -p1 -b .el9-ffmpeg-deprecated-apis +%patch -P129 -p1 -b .el9-ffmpeg-AV_CODEC_FLAG_COPY_OPAQUE +%patch -P130 -p1 -b .el9-ffmpeg-5.x-duration +%patch -P133 -p1 -b .el9-ffmpeg-5.1.x %endif -%patch -P115 -p1 -b .prop-codecs -%patch -P117 -p1 -b .sigtrap_system_ffmpeg -%endif - -# EPEL specific patches -%if 0%{?rhel} == 7 -%patch -P100 -p1 -b .el7-memfd-fcntl-include -%patch -P101 -p1 -b .wayland-strndup-error -%patch -P103 -p1 -b .epel7-header-workarounds -%patch -P104 -p1 -b .el7cups -%patch -P105 -p1 -b .el7-old-libdrm -%patch -P106 -p1 -b .el7-erase-fix -%patch -P107 -p1 -b .el7-extra-operator-equalequal -%patch -P108 -p1 -b .el7_v4l2_quantization -%patch -P109 -p1 -b .wireless -%patch -P110 -p1 -b .buildflag-el7 -%patch -P111 -p1 -b .constexpr -%patch -P112 -p1 -b .default_constructor +%patch -P131 -p1 -b .prop-codecs +%patch -P132 -p1 -b .sigtrap_system_ffmpeg +%patch -P135 -p1 -b .disable-H.264-video-parser-during-demuxing +%patch -P136 -p1 -b .workaround-system-ffmpeg-whitelist %endif %if 0%{?rhel} == 8 || 0%{?rhel} == 9 -%patch -P140 -p1 -b .dma_buf_export_sync_file-conflict +%patch -P141 -p1 -b .dma_buf_export_sync_file-conflict +%patch -P142 -p1 -b .python-3.9-ftbfs %endif -%if 0%{?rhel} == 9 -%patch -P130 -p1 -b .revert-av1enc +%patch -P150 -p1 -b .qt6 + +%ifarch aarch64 ppc64le +%patch -P300 -p1 -R -b .revert-decommit-pooled-pages-by-default %endif -%if %{clang} -%if 0%{?rhel} < 8 || 0%{?fedora} < 38 -%patch -P300 -p1 -b .no_matching_constructor -%patch -P301 -p1 -b .workaround_clang-SkColor4f -%patch -P302 -p1 -b .workaround_clang_bug-structured_binding -%patch -P303 -p1 -b .typename -%patch -P304 -p1 -b .string-convert -%patch -P305 -p1 -b .constexpr -%patch -P306 -p1 -b .assert -%endif -%endif +%patch -P301 -p1 -b .rust-libadler2 +%if 0%{?rhel} == 8 %ifarch aarch64 -%if 0%{?rhel} <= 8 -%patch -P307 -p1 -b .memory_tagging +%patch -P305 -p1 -b .el8-memory_tagging +%patch -P306 -p1 -b .el8-ifunc-header %endif +%patch -P307 -p1 -b .el8-atk-compiler-error +%patch -P308 -p1 -b .unsupport-clang-flags +%patch -P309 -p1 -b .el8-unsupport-rustc-flags +%patch -P314 -p1 -b .rust-skrifa-build-error %endif -%patch -P310 -p1 -b .missing-header-files -%patch -P311 -p1 -b .clang-warnings +%patch -P310 -p1 -b .rust-FTBFS-suppress-warnings +%patch -P311 -p1 -b .fstack-protector-strong -%if 0%{?rhel} > 9 || 0%{?fedora} > 38 -%patch -P312 -p1 -b .python-3.12-deprecated +%if 0%{?rhel} && 0%{?rhel} < 10 +%patch -P354 -p1 -b .split-threshold-for-reg-with-hint +%endif +%patch -P316 -p1 -b .clang-build-flags + +%if 0%{?fedora} && 0%{?fedora} < 42 || 0%{?rhel} && 0%{?rhel} < 10 +%patch -P317 -p1 -b .clang++-unsupported-argument %endif -%patch -P351 -p1 -b .mnemonic-error +%patch -P318 -p1 -b .memory-allocator-dcheck-assert-fix +%patch -P319 -p1 -b .swiftshader-llvm-16.0 %if %{disable_bti} %patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system %endif -%patch -P400 -p1 -R -b .revert-dont-redefine-ATSPI-version-macros.patch -%patch -P401 -p1 -b .nullptr_t-without-namespace-std -%patch -P402 -p1 -b .nvidia-use-separate-bo-to-verify-modifiers -%patch -P403 -p1 -b .UseChromeOSDirectVideoDecoder-flag-on-VA-API-devices +%ifarch aarch64 && 0%{?fedora} > 40 +%patch -P353 -p1 -b .duplicate-case-value +%endif + +%patch -P355 -p1 -b .hardware_destructive_interference_size + +%patch -P356 -p1 -b .disable_use_libcxx_modules + +%patch -P357 -p1 -b .type-mismatch-error + +%patch -P358 -p1 -b .rust-clang_lib + +%ifarch ppc64le +%patch -P359 -p1 -b .add-ppc64-architecture-string +%patch -P361 -p1 -b .0001-sandbox-Enable-seccomp_bpf-for-ppc64 +%patch -P376 -p1 -b .0001-third_party-angle-Include-missing-header-cstddef-in- +%patch -P377 -p1 -b .0001-Add-PPC64-support-for-boringssl +%patch -P378 -p1 -b .0001-third_party-libvpx-Properly-generate-gni-on-ppc64 +%patch -P380 -p1 -b .0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI +%patch -P381 -p1 -b .0002-Add-PPC64-generated-files-for-boringssl +%patch -P382 -p1 -b .0002-third_party-lss-kernel-structs +%patch -P383 -p1 -b .0001-swiftshader-fix-build +%patch -P384 -p1 -b .Rtc_base-system-arch.h-PPC +%patch -P386 -p1 -b .0004-third_party-crashpad-port-curl-transport-ppc64 +%patch -P387 -p1 -b .HACK-third_party-libvpx-use-generic-gnu +%patch -P389 -p1 -b .HACK-debian-clang-disable-base-musttail +%patch -P390 -p1 -b .HACK-debian-clang-disable-pa-musttail +%patch -P391 -p1 -b .0001-Add-ppc64-target-to-libaom +%patch -P392 -p1 -b .0001-Add-pregenerated-config-for-libaom-on-ppc64 +%patch -P393 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config +%patch -P394 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config +%patch -P395 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx +%patch -P396 -p1 -b .skia-vsx-instructions +%patch -P397 -p1 -b .0001-Implement-support-for-ppc64-on-Linux +%patch -P398 -p1 -b .0001-Implement-support-for-PPC64-on-Linux +%patch -P399 -p1 -b .0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when- +%patch -P401 -p1 -b .fix-rustc +%patch -P402 -p1 -b .fix-rust-linking +%patch -P403 -p1 -b .fix-breakpad-compile +%patch -P404 -p1 -b .fix-partition-alloc-compile +%patch -P405 -p1 -b .fix-study-crash +%patch -P407 -p1 -b .fix-different-data-layouts +%patch -P408 -p1 -b .0002-Add-ppc64-trap-instructions +%patch -P409 -p1 -b .fix-page-allocator-overflow +%patch -P410 -p1 -b .0001-Enable-ppc64-pointer-compression +%patch -P411 -p1 -b .dawn-fix-ppc64le-detection +%patch -P412 -p1 -b .add-ppc64-architecture-to-extensions +%patch -P413 -p1 -b .fix-unknown-warning-option-messages +%patch -P415 -p1 -b .add-ppc64-pthread-stack-size +%patch -P417 -p1 -b .0001-add-xnn-ppc64el-support +%patch -P418 -p1 -b .0002-regenerate-xnn-buildgn +%endif + +%if 0%{?flatpak} +%patch -P500 -p1 -b .flatpak-initial-sandbox +%patch -P501 -p1 -b .flatpak-sandbox-paths +%patch -P502 -p1 -b .flatpak-widevine +%endif + +# Upstream patches # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works -find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} + +find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{chromium_pybin}=' {} + # Add correct path for nodejs binary %if ! %{system_nodejs} - pushd third_party/node/linux -%ifarch x86_64 - tar xf %{SOURCE12} - mv node-%{nodejs_version}-linux-x64 node-linux-x64 -%endif -%ifarch aarch64 - tar xf %{SOURCE13} - mv node-%{nodejs_version}-linux-arm64 node-linux-arm64 - # This is weird, but whatever - ln -s node-linux-arm64 node-linux-x64 -%endif -popd + ln -s ../../../node-%{nodejs_version}/node-%{nodejs_version}-linux-x64 third_party/node/linux/node-linux-x64 %else mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node + ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node %endif -# Get rid of the bundled esbuild -%if 0%{?fedora} - ln -sf %{_bindir}/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild +# Get rid of the prebuilt esbuild binary +rm -rf third_party/devtools-frontend/src/third_party/esbuild + +# Remove bundle gn and replace it with a system gn or bootstrap gn as it is x86_64 and causes +# FTBFS on other arch like aarch64/ppc64le +%if %{bootstrap} +ln -sf ../../%{chromebuilddir}/gn buildtools/linux64/gn %else - %ifarch x86_64 - tar -zxf %{SOURCE14} --directory %{_tmppath} - %endif - %ifarch aarch64 - tar -zxf %{SOURCE15} --directory %{_tmppath} - %endif - mv %{_tmppath}/package/bin/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild +ln -sf $(which gn) buildtools/linux64/gn %endif -# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin -rm -rf buildtools/third_party/eu-strip/bin/eu-strip - -# Replace it with a symlink to the Fedora copy -ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip - %if %{bundlelibusbx} # no hackity hack hack %else # hackity hack hack rm -rf third_party/libusb/src/libusb/libusb.h # we _shouldn't need to do this, but it looks like we do. -cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h +cp -a $(pkg-config --variable=includedir libusb-1.0)/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h %endif # Hard code extra version @@ -1087,29 +1212,36 @@ sed -i 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channe # Fix hardcoded path in remoting code sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc -# change moc to moc-qt5 for fedora -sed -i 's|moc|moc-qt5|g' ui/qt/moc_wrapper.py +# bz#2265957, add correct platform +sed -i "s/Linux x86_64/Linux %{_arch}/" components/embedder_support/user_agent_utils.cc + +%if ! %{bundlesimdutf} +ln -sf %{_includedir}/simdutf.h third_party/simdutf/simdutf.h +%endif %build -# utf8 issue on epel7, Internal parsing error 'ascii' codec can't -# decode byte 0xe2 in position 474: ordinal not in range(128) -%if 0%{?rhel} == 7 -export LANG=en_US.UTF-8 + +%if ! %{system_nodejs} +# Build nodejs and Replace bundle binary +export CXX=c++ +tar xf %{SOURCE12} +pushd node-%{nodejs_version} +patch -p1 < %{_sourcedir}/0001-Remove-unused-OpenSSL-config.patch +patch -p1 < %{_sourcedir}/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch +./configure --ninja --shared-openssl --openssl-conf-name=openssl_conf --enable-static --prefix=node-%{nodejs_version}-linux-x64 +ninja -j %{numjobs} -C %{chromebuilddir} +make install +popd %endif # reduce warnings -%if %{clang} FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument' FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable' -FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes' -%endif +FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas' %if %{system_build_flags} -CFLAGS=${CFLAGS/-g } CFLAGS=${CFLAGS/-fexceptions} CFLAGS=${CFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS} -CFLAGS=${CFLAGS/-fcf-protection} -CFLAGS=${CFLAGS/-fstack-clash-protection} CFLAGS="$CFLAGS $FLAGS" CXXFLAGS="$CFLAGS" %else @@ -1118,34 +1250,39 @@ CFLAGS="$FLAGS" CXXFLAGS="$FLAGS" %endif -%if %{clang} +%ifarch ppc64le +CXXFLAGS+=' -faltivec-src-compat=mixed -Wno-deprecated-altivec-src-compat' +%endif + +%if ! %{use_custom_libcxx} +LDFLAGS="${LDFLAGS} -stdlib=libc++" +CXXFLAGS="${CXXFLAGS} -stdlib=libc++" +%endif + export CC=clang export CXX=clang++ export AR=llvm-ar export NM=llvm-nm export READELF=llvm-readelf -%else -export CC=gcc -export CXX=g++ -export AR=ar -export NM=nm -export READELF=readelf -%endif export CFLAGS export CXXFLAGS +export LDFLAGS -# enable toolset on el7 -%if 0%{?rhel} == 7 -%if %{clang} -. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable +# need for error: the option `Z` is only accepted on the nightly compiler +export RUSTC_BOOTSTRAP=1 + +# set rustc version +rustc_version="$(rustc --version)" +# set rust bindgen root +rust_bindgen_root="$(which bindgen | sed 's#/s\?bin/.*##')" +rust_sysroot_absolute="$(rustc --print sysroot)" + +# set clang version +clang_version="$(clang --version | sed -n 's/clang version //p' | cut -d. -f1)" +%if 0%{?fedora} > 41 || 0%{?rhel} > 9 +clang_base_path="$(PATH=/usr/bin:/usr/sbin which clang | sed 's#/bin/.*##')" %else -. /opt/rh/%{toolset}-%{dts_version}/enable -%endif -%endif - -# enable gcc toolset on el8 -%if 0%{?rhel} == 8 && ! %{clang} -. /opt/rh/%{toolset}-%{dts_version}/enable +clang_base_path="$(clang --version | grep InstalledDir | cut -d' ' -f2 | sed 's#/bin##')" %endif # Core defines are flags that are true for both the browser and headless. @@ -1153,16 +1290,24 @@ CHROMIUM_CORE_GN_DEFINES="" # using system toolchain CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:default"' CHROMIUM_CORE_GN_DEFINES+=' host_toolchain="//build/toolchain/linux/unbundle:default"' +%if ! %{use_custom_libcxx} +CHROMIUM_BROWSER_GN_DEFINES+=' use_custom_libcxx=false' +%endif CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false' -CHROMIUM_CORE_GN_DEFINES+=' use_goma=false' -CHROMIUM_CORE_GN_DEFINES+=' enable_nacl=false' +CHROMIUM_CORE_GN_DEFINES+=' enable_enterprise_companion=false' CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"' %if %{official_build} -CHROMIUM_CORE_GN_DEFINES+=' is_official_build=true use_thin_lto=false is_cfi=false chrome_pgo_phase=0 use_debug_fission=true' +CHROMIUM_CORE_GN_DEFINES+=' is_official_build=true' sed -i 's|OFFICIAL_BUILD|GOOGLE_CHROME_BUILD|g' tools/generate_shim_headers/generate_shim_headers.py %endif +CHROMIUM_CORE_GN_DEFINES+=' chrome_pgo_phase=0' + +%if ! %{cfi} +CHROMIUM_CORE_GN_DEFINES+=' is_cfi=false use_thin_lto=false' +%endif + %if %{useapikey} CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"' %endif @@ -1172,43 +1317,40 @@ CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}"' CHROMIUM_CORE_GN_DEFINES+=' google_default_client_secret="%{default_client_secret}"' %endif -%if %{clang} CHROMIUM_CORE_GN_DEFINES+=' is_clang=true' -CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"' +CHROMIUM_CORE_GN_DEFINES+=" clang_base_path=\"$clang_base_path\"" +CHROMIUM_CORE_GN_DEFINES+=" clang_version=$clang_version" CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false' CHROMIUM_CORE_GN_DEFINES+=' use_lld=true' -%else -CHROMIUM_CORE_GN_DEFINES+=' is_clang=false' -CHROMIUM_CORE_GN_DEFINES+=' use_lld=false' -%endif -# disable rust, it's only using for testing -CHROMIUM_CORE_GN_DEFINES+=' enable_rust=false' +# enable system rust +CHROMIUM_CORE_GN_DEFINES+=" rust_sysroot_absolute=\"$rust_sysroot_absolute\"" +CHROMIUM_CORE_GN_DEFINES+=" rust_bindgen_root=\"$rust_bindgen_root\"" +CHROMIUM_CORE_GN_DEFINES+=" rustc_version=\"$rustc_version\"" -CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false disable_fieldtrial_testing_config=true rtc_enable_symbol_export=true' - -%if %{use_gold} -CHROMIUM_CORE_GN_DEFINES+=' use_gold=true' -%else -CHROMIUM_CORE_GN_DEFINES+=' use_gold=false' -%endif +CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false' %ifarch aarch64 CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' %endif +%ifarch ppc64le +CHROMIUM_CORE_GN_DEFINES+=' target_cpu="ppc64"' +%endif + CHROMIUM_CORE_GN_DEFINES+=' icu_use_data_file=true' CHROMIUM_CORE_GN_DEFINES+=' target_os="linux"' CHROMIUM_CORE_GN_DEFINES+=' current_os="linux"' CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false' -CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false' CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false' CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false' CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false enable_perfetto_unittests=false' CHROMIUM_CORE_GN_DEFINES+=' disable_fieldtrial_testing_config=true' -CHROMIUM_CORE_GN_DEFINES+=' blink_symbol_level=%{debug_level} symbol_level=%{debug_level} v8_symbol_level=%{debug_level}' -CHROMIUM_CORE_GN_DEFINES+=' blink_enable_generated_code_formatting=false' +CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level} blink_symbol_level=%{debug_level}' CHROMIUM_CORE_GN_DEFINES+=' angle_has_histograms=false' +# drop unrar +CHROMIUM_CORE_GN_DEFINES+=' safe_browsing_use_unrar=false' +CHROMIUM_CORE_GN_DEFINES+=' v8_enable_backtrace=true' export CHROMIUM_CORE_GN_DEFINES # browser gn defines @@ -1221,19 +1363,33 @@ CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chrome" proprietary_codecs=true %else CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false is_component_ffmpeg=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=true' %endif +# link against noopenh264 library +%if 0%{?noopenh264} +CHROMIUM_BROWSER_GN_DEFINES+=' media_use_openh264=true' +CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_h264=true' +%else CHROMIUM_BROWSER_GN_DEFINES+=' media_use_openh264=false' CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_h264=false' -CHROMIUM_BROWSER_GN_DEFINES+=' use_kerberos=true' - -%if %{use_qt} -CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=true' -%else -CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=false' %endif +CHROMIUM_BROWSER_GN_DEFINES+=' use_kerberos=true' +# Workaround for FTBFS, error: no member named 'bPsnrY' in 'Source_Picture_s' +CHROMIUM_BROWSER_GN_DEFINES+=' rtc_video_psnr=false' + +%if %{use_qt5} +CHROMIUM_BROWSER_GN_DEFINES+=" use_qt5=true moc_qt5_path=\"$(%{_qt5_qmake} -query QT_HOST_BINS)\"" +%else +CHROMIUM_BROWSER_GN_DEFINES+=' use_qt5=false' +%endif + +%if %{use_qt6} +CHROMIUM_BROWSER_GN_DEFINES+=" use_qt6=true moc_qt6_path=\"$(%{_qt6_qmake} -query QT_HOST_LIBEXECS)\"" +%else +CHROMIUM_BROWSER_GN_DEFINES+=' use_qt6=false' +%endif +CHROMIUM_BROWSER_GN_DEFINES+=' use_gtk=true gtk_version=%{gtk_version}' CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_hangout_services_extension=true' -CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' %if %{use_vaapi} @@ -1246,11 +1402,34 @@ CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false' CHROMIUM_BROWSER_GN_DEFINES+=' use_v4l2_codec=true' %endif -%if 0%{?fedora} || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} > 8 CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' +%else +CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=false rtc_link_pipewire=false' %endif +%if ! %{bundlelibjpeg} +CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libjpeg=true' +%endif + +%if ! %{bundlelibpng} +CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libpng=true' +%endif + +%if ! %{bundlelibopenjpeg2} +CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libopenjpeg2=true' +%endif + +%if ! %{bundlelcms2} +CHROMIUM_BROWSER_GN_DEFINES+=' use_system_lcms2=true' +%endif + +%if ! %{bundlelibtiff} +CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libtiff=true' +%endif + CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libffi=true' + export CHROMIUM_BROWSER_GN_DEFINES # headless gn defines @@ -1262,61 +1441,107 @@ CHROMIUM_HEADLESS_GN_DEFINES+=' v8_use_external_startup_data=false enable_print_ CHROMIUM_HEADLESS_GN_DEFINES+=' use_alsa=false use_bluez=false use_cups=false use_dbus=false use_gio=false use_kerberos=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_libpci=false use_pulseaudio=false use_udev=false rtc_use_pipewire=false' CHROMIUM_HEADLESS_GN_DEFINES+=' v8_enable_lazy_source_positions=false use_glib=false use_gtk=false use_pangocairo=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_qt=false is_component_build=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=false' +CHROMIUM_HEADLESS_GN_DEFINES+=' use_qt5=false use_qt6=false is_component_build=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=false' CHROMIUM_HEADLESS_GN_DEFINES+=' media_use_libvpx=false proprietary_codecs=false' export CHROMIUM_HEADLESS_GN_DEFINES -build/linux/unbundle/replace_gn_files.py --system-libraries \ +# use system libraries +system_libs=() %if ! %{bundlelibaom} - libaom \ + system_libs+=(libaom) +%endif +%if ! %{bundlelibavif} + system_libs+=(libavif) %endif %if ! %{bundlebrotli} - brotli \ + system_libs+=(brotli) +%endif +%if ! %{bundlecrc32c} + system_libs+=(crc32c) +%endif +%if ! %{bundledav1d} + system_libs+=(dav1d) +%endif +%if ! %{bundlehighway} + system_libs+=(highway) %endif %if ! %{bundlefontconfig} - fontconfig \ + system_libs+=(fontconfig) %endif %if ! %{bundleffmpegfree} - ffmpeg \ + system_libs+=(ffmpeg) %endif %if ! %{bundlefreetype} - freetype \ + system_libs+=(freetype) %endif %if ! %{bundleharfbuzz} - harfbuzz-ng \ + system_libs+=(harfbuzz-ng) %endif %if ! %{bundleicu} - icu \ + system_libs+=(icu) %endif %if ! %{bundlelibdrm} - libdrm \ + system_libs+=(libdrm) %endif %if ! %{bundlelibjpeg} - libjpeg \ + system_libs+=(libjpeg) %endif %if ! %{bundlelibpng} - libpng \ + system_libs+=(libpng) %endif %if ! %{bundlelibusbx} - libusb \ + system_libs+=(libusb) %endif %if ! %{bundlelibwebp} - libwebp \ + system_libs+=(libwebp) %endif %if ! %{bundlelibxml} - libxml \ + system_libs+=(libxml) +%endif +%if ! %{bundlelibxslt} + system_libs+=(libxslt) %endif - libxslt \ %if ! %{bundleopus} - opus \ + system_libs+=(opus) %endif %if ! %{bundlere2} - re2 \ + system_libs+=(re2) +%endif +%if ! %{bundlewoff2} + system_libs+=(woff2) %endif %if ! %{bundleminizip} - zlib \ + system_libs+=(zlib) %endif - flac +%if ! %{bundlejsoncpp} + system_libs+=(jsoncpp) +%endif +%if ! %{bundledoubleconversion} + system_libs+=(double-conversion) +%endif +%if ! %{bundlelibsecret} + system_libs+=(libsecret) +%endif +%if ! %{bundlesnappy} + system_libs+=(snappy) +%endif +%if ! %{bundlelibXNVCtrl} + system_libs+=(libXNVCtrl) +%endif +%if ! %{bundleflac} + system_libs+=(flac) +%endif +%if ! %{bundlezstd} + system_libs+=(zstd) +%endif +%if 0%{?noopenh264} + system_libs+=(openh264) +%endif +%if ! %{bundlesimdutf} + system_libs+=(simdutf) +%endif + +build/linux/unbundle/replace_gn_files.py --system-libraries ${system_libs[@]} # Check that there is no system 'google' module, shadowing bundled ones: if python3 -c 'import google ; print google.__path__' 2> /dev/null ; then \ @@ -1327,42 +1552,21 @@ fi %if %{bootstrap} tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %else -mkdir -p %{builddir} && cp -a %{_bindir}/gn %{builddir}/ +mkdir -p %{chromebuilddir} && cp -a $(which gn) %{chromebuilddir}/ %endif -%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} +%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{chromebuilddir} -%if %{build_headless} -%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} -%endif +%build_target %{chromebuilddir} chrome -%if %{build_remoting} -%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} +%build_target %{chromebuilddir} chrome_sandbox + +%if %{build_chromedriver} +%build_target %{chromebuilddir} chromedriver %endif %if %{build_headless} -# Do headless first. -# workaround for build dependency -%build_target %{headlessbuilddir} gen/components/feed/core/proto/v2/wire/chrome_feed_response_metadata.pb.h -%build_target %{headlessbuilddir} headless_shell -%endif - -# workaround for build dependency -%build_target %{builddir} gen/components/feed/core/proto/v2/wire/chrome_feed_response_metadata.pb.h -%build_target %{builddir} chrome -%build_target %{builddir} chrome_sandbox -%build_target %{builddir} chromedriver - -%if %{build_clear_key_cdm} -%build_target %{builddir} clear_key_cdm -%endif - -%build_target %{builddir} policy_templates - -%if %{build_remoting} -# remote client -# ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources -%build_target %{remotingbuilddir} remoting_all +%build_target %{chromebuilddir} headless_shell %endif %install @@ -1374,7 +1578,7 @@ mkdir -p %{buildroot}%{_bindir} \ # install system wide chromium config cp -a %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf -cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh +cp -a %{SOURCE3} %{buildroot}%{chromium_path}/chromium-browser.sh %if ! %{use_vaapi} # remove vaapi flags @@ -1382,38 +1586,30 @@ echo "# system wide chromium flags" > %{buildroot}%{_sysconfdir}/%{name}/%{name} %endif export BUILD_TARGET=`cat /etc/redhat-release` -export CHROMIUM_PATH=%{chromium_path} -export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} -sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh +sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/chromium-browser.sh +sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/chromium-browser.sh -%if "%{chromium_channel}" == "%{nil}" - sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -%else - # Enable debug outputs for beta and dev channels - export EXTRA_FLAGS="--enable-logging=stderr --v=2" - sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -%endif - -ln -s ../..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} +ln -s ../..%{chromium_path}/chromium-browser.sh %{buildroot}%{_bindir}/chromium-browser mkdir -p %{buildroot}%{_mandir}/man1/ -pushd %{builddir} - cp -a chrom*.pak resources.pak icudtl.dat %{buildroot}%{chromium_path} +pushd %{chromebuilddir} +%if %{bundleicu} + cp -a icudtl.dat %{buildroot}%{chromium_path} +%endif + cp -a chrom*.pak resources.pak %{buildroot}%{chromium_path} cp -a locales/*.pak %{buildroot}%{chromium_path}/locales/ - %ifarch x86_64 aarch64 + %ifarch x86_64 aarch64 ppc64le cp -a libvk_swiftshader.so %{buildroot}%{chromium_path} cp -a libvulkan.so.1 %{buildroot}%{chromium_path} cp -a vk_swiftshader_icd.json %{buildroot}%{chromium_path} %endif - cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} + cp -a chrome %{buildroot}%{chromium_path}/chromium-browser cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler - cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 - sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/chromium-browser.1 + sed -i "s|@@PACKAGE@@|chromium-browser|g" %{buildroot}%{_mandir}/man1/chromium-browser.1 + sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/chromium-browser.1 # V8 initial snapshots # https://code.google.com/p/chromium/issues/detail?id=421063 @@ -1422,90 +1618,32 @@ pushd %{builddir} # This is ANGLE, not to be confused with the similarly named files under swiftshader/ cp -a libEGL.so libGLESv2.so %{buildroot}%{chromium_path} - %if %{use_qt} + %if %{use_qt5} cp -a libqt5_shim.so %{buildroot}%{chromium_path} %endif - %if %{build_clear_key_cdm} - %ifarch x86_64 - cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - %ifarch aarch64 - cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path} - %else - cp -a libclearkeycdm.so %{buildroot}%{chromium_path} - %endif - %endif + %if %{use_qt6} + cp -a libqt6_shim.so %{buildroot}%{chromium_path} %endif - # chromedriver - cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver - - %if %{build_remoting} - # Remote desktop bits - mkdir -p %{buildroot}%{crd_path} + %if %{build_chromedriver} + # chromedriver + cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver + ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver %endif + popd -%if %{build_remoting} - pushd %{remotingbuilddir} - # Hey, there is a library now. - cp -a libremoting_core.so %{buildroot}%{crd_path}/ - - # See remoting/host/installer/linux/Makefile for logic - mkdir -p %{buildroot}%{crd_path}/remoting_locales - cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host - cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host - cp -a remoting_locales/*.pak %{buildroot}%{crd_path}/remoting_locales/ - cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host - cp -a remoting_start_host %{buildroot}%{crd_path}/start-host - cp -a remoting_user_session %{buildroot}%{crd_path}/user-session - chmod +s %{buildroot}%{crd_path}/user-session - - # chromium - mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts - # google-chrome - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ - cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ - for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do - sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i - done - mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts - for i in ../../../chromium/native-messaging-hosts/*; do - # rpm gets unhappy when we symlink here - cp -a $i . - done - popd - popd - - mkdir -p %{buildroot}/var/lib/chrome-remote-desktop - touch %{buildroot}/var/lib/chrome-remote-desktop/hashes - - mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ - pushd %{buildroot}%{_sysconfdir}/pam.d/ - ln -s system-auth chrome-remote-desktop - popd - - cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop - cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ - - mkdir -p %{buildroot}%{_unitdir} - cp -a %{SOURCE10} %{buildroot}%{_unitdir}/ - sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service -%endif - %if %{build_headless} - pushd %{headlessbuilddir} - cp -a headless_lib_data.pak headless_lib_strings.pak headless_shell %{buildroot}%{chromium_path} + pushd %{chromebuilddir} + cp -a *.pak headless_shell %{buildroot}%{chromium_path} popd %endif # need to strip binaries explicitly when debug is disable %if ! %{enable_debug} pushd %{buildroot}%{chromium_path}/ -for f in *.so chrome_crashpad_handler chrome-sandbox chromium-browser headless_shell chromedriver ; do +for f in *.so *.so.1 chrome_crashpad_handler chrome-sandbox chromium-browser headless_shell chromedriver ; do [ -f $f ] && strip $f done popd @@ -1515,19 +1653,16 @@ popd mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended -cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . -cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json . - mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps -cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png +cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/chromium-browser.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps -cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png +cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/chromium-browser.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps -cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png +cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/chromium-browser.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps -cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png +cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/chromium-browser.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps -cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png +cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/chromium-browser.png # Install the master_preferences file install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/%{name}/ @@ -1535,9 +1670,8 @@ install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/%{name}/ mkdir -p %{buildroot}%{_datadir}/applications/ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} -install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \ - ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml -appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml +install -D -m0644 %{SOURCE10} ${RPM_BUILD_ROOT}%{_datadir}/appdata/chromium-browser.appdata.xml +appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/appdata/chromium-browser.appdata.xml mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ @@ -1545,138 +1679,116 @@ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ # README.fedora cp %{SOURCE1} . +%if %{undefined flatpak} %post # Set SELinux labels - semanage itself will adjust the lib directory naming # But only do it when selinux is enabled, otherwise, it gets noisy. if selinuxenabled; then - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel} &>/dev/null || : - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel}/%{chromium_browser_channel}.sh &>/dev/null || : + semanage fcontext -a -t bin_t /usr/lib/chromium-browser &>/dev/null || : + semanage fcontext -a -t bin_t /usr/lib/chromium-browser/chromium-browser.sh &>/dev/null || : semanage fcontext -a -t chrome_sandbox_exec_t /usr/lib/chrome-sandbox &>/dev/null || : - restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || : + restorecon -R -v %{chromium_path}/chromium-browser &>/dev/null || : fi - -%if %{build_remoting} -%pretrans -n chrome-remote-desktop -p -path = "/etc/opt/chrome/native-messaging-hosts" -st = posix.stat(path) -if st and st.type == "link" then - os.remove(path) -end -%endif - -%if %{build_remoting} -%pre -n chrome-remote-desktop -getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop - -%post -n chrome-remote-desktop -%systemd_post chrome-remote-desktop@.service - -%preun -n chrome-remote-desktop -%systemd_preun chrome-remote-desktop@.service - -%postun -n chrome-remote-desktop -%systemd_postun_with_restart chrome-remote-desktop@.service %endif %files %doc AUTHORS README.fedora -%doc chrome_policy_list.html *.json %license LICENSE %config(noreplace) %{_sysconfdir}/%{name}/chromium.conf %config %{_sysconfdir}/%{name}/master_preferences %config %{_sysconfdir}/%{name}/policies/ -%if %{build_remoting} -%exclude %{_sysconfdir}/%{name}/native-messaging-hosts/* -%endif -%{_bindir}/%{chromium_browser_channel} -%{chromium_path}/*.bin +%{_bindir}/chromium-browser %{chromium_path}/chrome_*.pak %{chromium_path}/chrome_crashpad_handler %{chromium_path}/resources.pak -%{chromium_path}/%{chromium_browser_channel} -%{chromium_path}/%{chromium_browser_channel}.sh +%{chromium_path}/chromium-browser +%{chromium_path}/chromium-browser.sh %attr(4755, root, root) %{chromium_path}/chrome-sandbox -%if %{use_qt} -%{chromium_path}/libqt5_shim.so -%endif -%{_mandir}/man1/%{chromium_browser_channel}.* -%{_datadir}/icons/hicolor/*/apps/%{chromium_browser_channel}.png +%{_mandir}/man1/chromium-browser.* +%{_datadir}/icons/hicolor/*/apps/chromium-browser.png %{_datadir}/applications/*.desktop -%{_datadir}/metainfo/*.appdata.xml +%{_datadir}/appdata/*.appdata.xml %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml -%files common -%if %{build_clear_key_cdm} -%{chromium_path}/libclearkeycdm.so +%if %{use_qt5} +%files qt5-ui +%{chromium_path}/libqt5_shim.so %endif -%ifarch x86_64 aarch64 + +%if %{use_qt6} +%files qt6-ui +%{chromium_path}/libqt6_shim.so +%endif + +%files common %{chromium_path}/libvk_swiftshader.so* %{chromium_path}/libvulkan.so* %{chromium_path}/vk_swiftshader_icd.json %{chromium_path}/libEGL.so* %{chromium_path}/libGLESv2.so* -%endif +%{chromium_path}/*.bin +%if %{bundleicu} %{chromium_path}/icudtl.dat +%endif %dir %{chromium_path}/ %dir %{chromium_path}/locales/ -%lang(af) %{chromium_path}/locales/af.pak -%lang(am) %{chromium_path}/locales/am.pak -%lang(ar) %{chromium_path}/locales/ar.pak -%lang(bg) %{chromium_path}/locales/bg.pak -%lang(bn) %{chromium_path}/locales/bn.pak -%lang(ca) %{chromium_path}/locales/ca.pak -%lang(cs) %{chromium_path}/locales/cs.pak -%lang(da) %{chromium_path}/locales/da.pak -%lang(de) %{chromium_path}/locales/de.pak -%lang(el) %{chromium_path}/locales/el.pak -%lang(en_GB) %{chromium_path}/locales/en-GB.pak +%lang(af) %{chromium_path}/locales/af*.pak +%lang(am) %{chromium_path}/locales/am*.pak +%lang(ar) %{chromium_path}/locales/ar*.pak +%lang(bg) %{chromium_path}/locales/bg*.pak +%lang(bn) %{chromium_path}/locales/bn*.pak +%lang(ca) %{chromium_path}/locales/ca*.pak +%lang(cs) %{chromium_path}/locales/cs*.pak +%lang(da) %{chromium_path}/locales/da*.pak +%lang(de) %{chromium_path}/locales/de*.pak +%lang(el) %{chromium_path}/locales/el*.pak +%lang(en_GB) %{chromium_path}/locales/en-GB*.pak # Chromium _ALWAYS_ needs en-US.pak as a fallback # This means we cannot apply the lang code here. # Otherwise, it is filtered out on install. -%{chromium_path}/locales/en-US.pak -%lang(es) %{chromium_path}/locales/es.pak -%lang(es) %{chromium_path}/locales/es-419.pak -%lang(et) %{chromium_path}/locales/et.pak -%lang(fa) %{chromium_path}/locales/fa.pak -%lang(fi) %{chromium_path}/locales/fi.pak -%lang(fil) %{chromium_path}/locales/fil.pak -%lang(fr) %{chromium_path}/locales/fr.pak -%lang(gu) %{chromium_path}/locales/gu.pak -%lang(he) %{chromium_path}/locales/he.pak -%lang(hi) %{chromium_path}/locales/hi.pak -%lang(hr) %{chromium_path}/locales/hr.pak -%lang(hu) %{chromium_path}/locales/hu.pak -%lang(id) %{chromium_path}/locales/id.pak -%lang(it) %{chromium_path}/locales/it.pak -%lang(ja) %{chromium_path}/locales/ja.pak -%lang(kn) %{chromium_path}/locales/kn.pak -%lang(ko) %{chromium_path}/locales/ko.pak -%lang(lt) %{chromium_path}/locales/lt.pak -%lang(lv) %{chromium_path}/locales/lv.pak -%lang(ml) %{chromium_path}/locales/ml.pak -%lang(mr) %{chromium_path}/locales/mr.pak -%lang(ms) %{chromium_path}/locales/ms.pak -%lang(nb) %{chromium_path}/locales/nb.pak -%lang(nl) %{chromium_path}/locales/nl.pak -%lang(pl) %{chromium_path}/locales/pl.pak -%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak -%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak -%lang(ro) %{chromium_path}/locales/ro.pak -%lang(ru) %{chromium_path}/locales/ru.pak -%lang(sk) %{chromium_path}/locales/sk.pak -%lang(sl) %{chromium_path}/locales/sl.pak -%lang(sr) %{chromium_path}/locales/sr.pak -%lang(sv) %{chromium_path}/locales/sv.pak -%lang(sw) %{chromium_path}/locales/sw.pak -%lang(ta) %{chromium_path}/locales/ta.pak -%lang(te) %{chromium_path}/locales/te.pak -%lang(th) %{chromium_path}/locales/th.pak -%lang(tr) %{chromium_path}/locales/tr.pak -%lang(uk) %{chromium_path}/locales/uk.pak -%lang(ur) %{chromium_path}/locales/ur.pak -%lang(vi) %{chromium_path}/locales/vi.pak -%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak -%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak +%{chromium_path}/locales/en-US*.pak +%lang(es) %{chromium_path}/locales/es*.pak +%lang(et) %{chromium_path}/locales/et*.pak +%lang(fa) %{chromium_path}/locales/fa*.pak +%lang(fi) %{chromium_path}/locales/fi{.pak,_*.pak} +%lang(fil) %{chromium_path}/locales/fil*.pak +%lang(fr) %{chromium_path}/locales/fr*.pak +%lang(gu) %{chromium_path}/locales/gu*.pak +%lang(he) %{chromium_path}/locales/he*.pak +%lang(hi) %{chromium_path}/locales/hi*.pak +%lang(hr) %{chromium_path}/locales/hr*.pak +%lang(hu) %{chromium_path}/locales/hu*.pak +%lang(id) %{chromium_path}/locales/id*.pak +%lang(it) %{chromium_path}/locales/it*.pak +%lang(ja) %{chromium_path}/locales/ja*.pak +%lang(kn) %{chromium_path}/locales/kn*.pak +%lang(ko) %{chromium_path}/locales/ko*.pak +%lang(lt) %{chromium_path}/locales/lt*.pak +%lang(lv) %{chromium_path}/locales/lv*.pak +%lang(ml) %{chromium_path}/locales/ml*.pak +%lang(mr) %{chromium_path}/locales/mr*.pak +%lang(ms) %{chromium_path}/locales/ms*.pak +%lang(nb) %{chromium_path}/locales/nb*.pak +%lang(nl) %{chromium_path}/locales/nl*.pak +%lang(pl) %{chromium_path}/locales/pl*.pak +%lang(pt_BR) %{chromium_path}/locales/pt-BR*.pak +%lang(pt_PT) %{chromium_path}/locales/pt-PT*.pak +%lang(ro) %{chromium_path}/locales/ro*.pak +%lang(ru) %{chromium_path}/locales/ru*.pak +%lang(sk) %{chromium_path}/locales/sk*.pak +%lang(sl) %{chromium_path}/locales/sl*.pak +%lang(sr) %{chromium_path}/locales/sr*.pak +%lang(sv) %{chromium_path}/locales/sv*.pak +%lang(sw) %{chromium_path}/locales/sw*.pak +%lang(ta) %{chromium_path}/locales/ta*.pak +%lang(te) %{chromium_path}/locales/te*.pak +%lang(th) %{chromium_path}/locales/th*.pak +%lang(tr) %{chromium_path}/locales/tr*.pak +%lang(uk) %{chromium_path}/locales/uk*.pak +%lang(ur) %{chromium_path}/locales/ur*.pak +%lang(vi) %{chromium_path}/locales/vi*.pak +%lang(zh_CN) %{chromium_path}/locales/zh-CN*.pak +%lang(zh_TW) %{chromium_path}/locales/zh-TW*.pak # These are psuedolocales, not real ones. # They only get generated when is_official_build=false %if ! %{official_build} @@ -1687,35 +1799,913 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %if %{build_headless} %files headless %{chromium_path}/headless_shell -%{chromium_path}/headless_lib_data.pak -%{chromium_path}/headless_lib_strings.pak -%endif - -%if %{build_remoting} -%files -n chrome-remote-desktop -%{crd_path}/chrome-remote-desktop -%{crd_path}/chrome-remote-desktop-host -%{crd_path}/is-remoting-session -%{crd_path}/libremoting_core.so* -%{crd_path}/native-messaging-host -%{crd_path}/remote-assistance-host -%{_sysconfdir}/pam.d/chrome-remote-desktop -%{_sysconfdir}/chromium/native-messaging-hosts/* -%{_sysconfdir}/opt/chrome/ -%{crd_path}/remoting_locales/ -%{crd_path}/start-host -%{crd_path}/user-session -%{_unitdir}/chrome-remote-desktop@.service -/var/lib/chrome-remote-desktop/ +%{chromium_path}/headless_*.pak %endif +%if %{build_chromedriver} %files -n chromedriver %doc AUTHORS %license LICENSE %{_bindir}/chromedriver %{chromium_path}/chromedriver +%endif %changelog +* Wed Jan 14 2026 Than Ngo - 144.0.7559.59-1 +- Update to 144.0.7559.59 + * CVE-2026-0899: Out of bounds memory access in V8 + * CVE-2026-0900: Inappropriate implementation in V8 + * CVE-2026-0901: Inappropriate implementation in Blink + * CVE-2026-0902: Inappropriate implementation in V8 + * CVE-2026-0903: Insufficient validation of untrusted input in Downloads + * CVE-2026-0904: Incorrect security UI in Digital Credentials + * CVE-2026-0905: Insufficient policy enforcement in Network + * CVE-2026-0906: Incorrect security UI + * CVE-2026-0907: Incorrect security UI in Split View + * CVE-2026-0908: Use after free in ANGLE + +* Wed Jan 07 2026 Than Ngo - 143.0.7499.192-1 +- Update to 143.0.7499.192 + * High CVE-2026-0628: Insufficient policy enforcement in WebView tag +- Fix rhbz#2425338, Enable control flow integrity support for x86_64/aarch64 +- Enable build for epel10.1 + +* Sat Dec 20 2025 Than Ngo - 143.0.7499.169-1 +- Update to 143.0.7499.169 + +* Wed Dec 17 2025 Than Ngo - 143.0.7499.146-1 +- Update to 143.0.7499.146 + * High CVE-2025-14765: Use after free in WebGPU + * High CVE-2025-14766: Out of bounds read and write in V8 +- Force dark mode when auto dark mode web content is on +- Remove omnibox-next-Improve-cutout-mouse-handling-for-Wayla patch, as it's merged + +* Thu Dec 11 2025 Than Ngo - 143.0.7499.109-2 +- Enable gtk4 by default + +* Thu Dec 11 2025 Than Ngo - 143.0.7499.109-1 +- Update to 143.0.7499.109 + * High: Under coordination + * Medium CVE-2025-14372: Use after free in Password Manager + * Medium CVE-2025-14373: Inappropriate implementation in Toolbar +- Workaround problem of auto dark mode inverting images and making them unreadable + +* Tue Dec 09 2025 LuK1337 - 143.0.7499.40-2 +- Backport Wayland Omnibox bug fix from upstream + +* Tue Dec 02 2025 Than Ngo - 143.0.7499.40-1 +- Update to 143.0.7499.40 + * High CVE-2025-13630: Type Confusion in V8 + * High CVE-2025-13631: Inappropriate implementation in Google Updater + * High CVE-2025-13632: Inappropriate implementation in DevTools + * High CVE-2025-13633: Use after free in Digital Credentials + * Medium CVE-2025-13634: Inappropriate implementation in Downloads + * Medium CVE-2025-13720: Bad cast in Loader + * Medium CVE-2025-13721: Race in v8 + * Low CVE-2025-13635: Inappropriate implementation in Downloads + * Low CVE-2025-13636: Inappropriate implementation in Split View + * Low CVE-2025-13637: Inappropriate implementation in Downloads + * Low CVE-2025-13638: Use after free in Media Stream + * Low CVE-2025-13639: Inappropriate implementation in WebRTC + * Low CVE-2025-13640: Inappropriate implementation in Passwords + +* Mon Dec 01 2025 LuK1337 - 142.0.7444.175-5 +- Backport one more Wayland DnD bug fix from upstream + +* Mon Nov 24 2025 Than Ngo - 142.0.7444.175-4 +- Enable system libcxx +- Fix link error when building with system libcxx +- Apply memory-allocator-dcheck-assert-fix for aarch64 + +* Thu Nov 20 2025 LuK1337 - 142.0.7444.175-3 +- Backport Wayland DnD bug fix from upstream + +* Wed Nov 19 2025 Than Ngo - 142.0.7444.175-2 +- Fix typos in chromium.conf + +* Tue Nov 18 2025 Than Ngo - 142.0.7444.175-1 +- Update to 142.0.7444.175 + * High CVE-2025-13223: Type Confusion in V8 + * High CVE-2025-13224: Type Confusion in V8 + +* Sat Nov 15 2025 LuK1337 - 142.0.7444.162-2 +- Disable LensOverlay feature by default + +* Thu Nov 13 2025 Mamoru TASAKA - 142.0.7444.162-2 +- Rebuild for ffmpeg 8 again + +* Wed Nov 12 2025 Than Ngo - 142.0.7444.162-1 +- Update to 142.0.7444.162 + * High CVE-2025-13042: Inappropriate implementation in V8 + +* Tue Nov 11 2025 Dominik Mierzejewski - 142.0.7444.134-2 +- Rebuilt for FFmpeg 8 + +* Thu Nov 06 2025 Than Ngo - 142.0.7444.134-1 +- Update to 142.0.7444.134 + * High CVE-2025-12725: Out of bounds write in WebGPU + * High CVE-2025-12726: Inappropriate implementation in Views + * High CVE-2025-12727: Inappropriate implementation in V8 + * Medium CVE-2025-12728: Inappropriate implementation in Omnibox + * Medium CVE-2025-12729: Inappropriate implementation in Omnibox + +* Wed Nov 05 2025 Dominik Mierzejewski - 142.0.7444.59-2 +- Rebuilt for FFmpeg 8 + +* Thu Oct 30 2025 Than Ngo - 142.0.7444.59-1 +- Update to 142.0.7444.59 + * High CVE-2025-12428: Type Confusion in V8 + * High CVE-2025-12429: Inappropriate implementation in V8 + * High CVE-2025-12430: Object lifecycle issue in Media + * High CVE-2025-12431: Inappropriate implementation in Extensions + * High CVE-2025-12432: Race in V8 + * High CVE-2025-12433: Inappropriate implementation in V8 + * High CVE-2025-12036: Inappropriate implementation in V8 + * Medium CVE-2025-12434: Race in Storage + * Medium CVE-2025-12435: Incorrect security UI in Omnibox + * Medium CVE-2025-12436: Policy bypass in Extensions + * Medium CVE-2025-12437: Use after free in PageInfo + * Medium CVE-2025-12438: Use after free in Ozone + * Medium CVE-2025-12439: Inappropriate implementation in App-Bound Encryption + * Low CVE-2025-12440: Inappropriate implementation in Autofill + * Medium CVE-2025-12441: Out of bounds read in V8 + * Medium CVE-2025-12443: Out of bounds read in WebXR + * Low CVE-2025-12444: Incorrect security UI in Fullscreen UI + * Low CVE-2025-12445: Policy bypass in Extensions + * Low CVE-2025-12446: Incorrect security UI in SplitView + * Low CVE-2025-12447: Incorrect security UI in Omnibox + * Refreshed ppc64le patches + * Refreshed system-brotli patch + * Refreshed clang++-unknown-argument patch + * Refreshed split-threshold-for-reg-with-hint patch + * Fixed some FTBFS caused by missing header files + * Fixed FTBFS caused by old rust compiler + * Fixed FTBFS caused by new glibc-2.42 in Rawhide + * Fixed FTBFS caused by old python-3.9.x in EL8/9 + * Dropped obsoleted chromium-141-el9-ffmpeg-5.x-duration.patch for old ffmpeg on EL9 + +* Wed Oct 22 2025 Than Ngo - 141.0.7390.122-1 +- Update to 141.0.7390.122 + * High CVE-2025-12036 chromium: Inappropriate implementation in V8 + +* Wed Oct 15 2025 Than Ngo - 141.0.7390.107-1 +- Update 141.0.7390.107 + * High CVE-2025-11756: Use after free in Safe Browsing + +* Sun Oct 12 2025 Than Ngo - 141.0.7390.76-1 +- Update to 141.0.7390.76 + +* Wed Oct 08 2025 Than Ngo - 141.0.7390.65-1 +- Update to 141.0.7390.65 + * High CVE-2025-11458: Heap buffer overflow in Sync + * High CVE-2025-11460: Use after free in Storage + * Medium CVE-2025-11211: Out of bounds read in WebCodecs + +* Fri Oct 03 2025 Tom Stellard - 141.0.7390.54-2 +- Fix build with clang-22 + +* Thu Oct 02 2025 Than Ngo - 141.0.7390.54-1 +- Update to 141.0.7390.54 + * High CVE-2025-11205: Heap buffer overflow in WebGPU + * High CVE-2025-11206: Heap buffer overflow in Video + * Medium CVE-2025-11207: Side-channel information leakage in Storage + * Medium CVE-2025-11208: Inappropriate implementation in Media + * Medium CVE-2025-11209: Inappropriate implementation in Omnibox + * Medium CVE-2025-11210: Side-channel information leakage in Tab + * Medium CVE-2025-11211: Out of bounds read in Media + * Medium CVE-2025-11212: Inappropriate implementation in Media + * Medium CVE-2025-11213: Inappropriate implementation in Omnibox + * Medium CVE-2025-11215: Off by one error in V8 + * Low CVE-2025-11216: Inappropriate implementation in Storage + * Low CVE-2025-11219: Use after free in V8 + +* Wed Sep 24 2025 Than Ngo - 140.0.7339.207-1 +- Update to 140.0.7339.207 + * CVE-2025-10890: Side-channel information leakage in V8 + * CVE-2025-10891: Integer overflow in V8 + * CVE-2025-10892: Integer overflow in V8 + + +* Wed Sep 17 2025 Than Ngo - 140.0.7339.185-1 +- Update to 140.0.7339.185 + * CVE-2025-10585: Type Confusion in V8 + * CVE-2025-10500: Use after free in Dawn + * CVE-2025-10501: Use after free in WebRTC + * CVE-2025-10502: Heap buffer overflow in ANGLE + +* Thu Sep 11 2025 Than Ngo - 140.0.7339.127-1 +- Update to 140.0.7339.127 + * CVE-2025-10200: Use after free in Serviceworker + * CVE-2025-10201: Inappropriate implementation in Mojo + +* Wed Sep 03 2025 Than Ngo - 140.0.7339.80-1 +- Update to 140.0.7339.80 + * CVE-2025-9864: Use after free in V8 + * CVE-2025-9865: Inappropriate implementation in Toolbar + * CVE-2025-9866: Inappropriate implementation in Extensions + CVE-2025-9867: Inappropriate implementation in Downloads + +* Thu Aug 28 2025 Than Ngo - 139.0.7258.154-1 +- Update to 139.0.7258.154 + * CVE-2025-9478: Use after free in ANGLE + +* Fri Aug 22 2025 Than Ngo - 139.0.7258.138-1 +- Updated to 139.0.7258.138 + * CVE-2025-9132: Out of bounds write in V8 + +* Wed Aug 20 2025 Dominik Mierzejewski - 139.0.7258.127-2 +- Drop unused yasm build dependency + see https://fedoraproject.org/wiki/Changes/DeprecateYASM + +* Wed Aug 13 2025 Than Ngo - 139.0.7258.127-1 +- Updated to 139.0.7258.127 + * CVE-2025-8879: Heap buffer overflow in libaom + * CVE-2025-8880: Race in V8 + * CVE-2025-8901: Out of bounds write in ANGLE + * CVE-2025-8881: Inappropriate implementation in File Picker + * CVE-2025-8882: Use after free in Aura + +* Tue Aug 05 2025 Than Ngo - 139.0.7258.66-1 +- Updated to 139.0.7258.66 + * CVE-2025-8576: Use after free in Extensions + * CVE-2025-8578: Use after free in Cast + * CVE-2025-8579: Inappropriate implementation in Gemini Live in Chrome + * CVE-2025-8580: Inappropriate implementation in Filesystems + * CVE-2025-8581: Inappropriate implementation in Extensions + * CVE-2025-8582: Insufficient validation of untrusted input in DOM + * CVE-2025-8583: Inappropriate implementation in Permissions + +* Mon Aug 04 2025 Tom Stellard - 138.0.7204.183-2 +- Backport fix for build failure with clang-21 + +* Wed Jul 30 2025 Than Ngo - 138.0.7204.183-1 +- Update to 138.0.7204.183 + * CVE-2025-8292: Use after free in Media Stream + +* Wed Jul 23 2025 Fedora Release Engineering - 138.0.7204.168-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jul 23 2025 Than Ngo - 138.0.7204.168-1 +- Update to 138.0.7204.168 + * CVE-2025-8010: Type Confusion in V8 + * CVE-2025-8011: Type Confusion in V8 + +* Wed Jul 16 2025 Than Ngo - 138.0.7204.157-1 +- Update to 138.0.7204.157 + * CVE-2025-7656: Integer overflow in V8 + * CVE-2025-7657: Use after free in WebRTC + * CVE-2025-6558: Incorrect validation of untrusted input in ANGLE and GPU + +* Fri Jul 11 2025 Tom Stellard -138.0.7204.100-2 +- Update rust-clanglib patch for clang 21 + +* Wed Jul 09 2025 Than Ngo - 138.0.7204.100-1 +- Update to 138.0.7204.100 + +* Tue Jul 01 2025 Than Ngo - 138.0.7204.92-1 +- Update to 138.0.7204.92 + * High CVE-2025-6554: Type Confusion in V8 + +* Tue Jun 24 2025 Than Ngo - 138.0.7204.49-1 +- Update to 138.0.7204.49 + * CVE-2025-6555: Use after free in Animation + * CVE-2025-6556: Insufficient policy enforcement in Loader + * CVE-2025-6557: Insufficient data validation in DevTools + +* Wed Jun 18 2025 Than Ngo - 137.0.7151.119-1 +- Update to 137.0.7151.119 + * CVE-2025-6191: Integer overflow in V8 + * CVE-2025-6192: Use after free in Profiler + +* Wed Jun 11 2025 Than Ngo - 137.0.7151.103-1 +- Update to 137.0.7151.103 + * CVE-2025-5958: Use after free in Media + * CVE-2025-5959: Type Confusion in V8 +- Provide correct version for bundle librarires +- Fix rhbz#2368923, Chromium crash + +* Tue Jun 03 2025 Than Ngo - 137.0.7151.68-1 +- Update to 137.0.7151.68 + * CVE-2025-5419: Out of bounds read and write in V8 + * CVE-2025-5068: Use after free in Blink + +* Tue May 27 2025 Than Ngo - 137.0.7151.55-1 +- Update to 137.0.7151.55 + * CVE-2025-5063: Use after free in Compositing + * CVE-2025-5280: Out of bounds write in V8 + * CVE-2025-5064: Inappropriate implementation in Background Fetch API + * CVE-2025-5065: Inappropriate implementation in FileSystemAccess API + * CVE-2025-5066: Inappropriate implementation in Messages + * CVE-2025-5281: Inappropriate implementation in BFCache + * CVE-2025-5283: Use after free in libvpx + * CVE-2025-5067: Inappropriate implementation in Tab Strip +- Fix FTBFS caused by simdutf and pdfium-png_decoder +- Remove chromium-135-gperf.patch and chromium-135-add-cfi-suppressions-for-pipewire-functions.patch, merged by upstream +- Refresh ppc64le patches +- Enable system simdutf for F43 + +* Tue May 27 2025 Jitka Plesnikova - 136.0.7103.113-2 +- Rebuilt for flac 1.5.0 + +* Wed May 14 2025 Than Ngo - 136.0.7103.113-1 +- Update to 136.0.7103.113 + * CVE-2025-4664: Insufficient policy enforcement in Loader + * CVE-2025-4609: Incorrect handle provided in unspecified circumstances in Mojo + +* Wed May 07 2025 Than Ngo - 136.0.7103.92-1 +- Update to 136.0.7103.92 + * CVE-2025-4372: Use after free in WebAudio + +* Tue Apr 29 2025 Than Ngo - 136.0.7103.59-1 +- Update to 136.0.7103.59 + * CVE-2025-4096: Heap buffer overflow in HTML + * CVE-2025-4050: Out of bounds memory access in DevTools + * CVE-2025-4051: Insufficient data validation in DevTools + * CVE-2025-4052: Inappropriate implementation in DevTools + +* Thu Apr 24 2025 Than Ngo - 136.0.7103.48-1 +- Update to 136.0.7103.48 + +* Wed Apr 23 2025 Than Ngo - 135.0.7049.114-1 +- Update to 135.0.7049.114 + +* Wed Apr 16 2025 Than Ngo - 135.0.7049.95-1 +- Update to 135.0.7049.95 + * CVE-2025-3619: Heap buffer overflow in Codecs + * CVE-2025-3620: Use after free in USB + +* Wed Apr 09 2025 Than Ngo - 135.0.7049.84-1 +- Update to 135.0.7049.84 + * CVE-2025-3066: Use after free in Site Isolation + +* Wed Apr 02 2025 Jan Grulich - 135.0.7049.52-2 +- Add CFI suppressions for inline PipeWire functions + +* Tue Apr 01 2025 Than Ngo - 135.0.7049.52-1 +- Update to 135.0.7049.52 + +* Fri Mar 28 2025 Than Ngo - 135.0.7049.41-1 +- Update to 135.0.7049.41 + +* Mon Mar 24 2025 Than Ngo - 134.0.6998.165-1 +- Update to 134.0.6998.165 +- Fixed rhbz#2354377 - Enable ppc64le support for el10 + +* Thu Mar 20 2025 Than Ngo - 134.0.6998.117-1 +- Update to 134.0.6998.117 + * Critical CVE-2025-2476: Use after free in Lens + +* Mon Mar 17 2025 Than Ngo - 134.0.6998.88-4 +- Fixed rhbz#2352698, rebuild for noopenh264 2.6.0 + +* Fri Mar 14 2025 Than Ngo - 134.0.6998.88-3 +- Fixed build errors on ppc64le + +* Thu Mar 13 2025 Fabio Valentini - 134.0.6998.88-2 +- Rebuild for noopenh264 2.6.0 + +* Tue Mar 11 2025 Than Ngo - 134.0.6998.88-1 +- Update to 134.0.6998.88 + * High CVE-2025-1920: Type Confusion in V8 + * High CVE-2025-2135: Type Confusion in V8 + * High CVE-TBD: Out of bounds write in GPU + * Medium CVE-2025-2136: Use after free in Inspector + * Medium CVE-2025-2137: Out of bounds read in V8 + +* Wed Mar 05 2025 Than Ngo - 134.0.6998.35-1 +- Update to 134.0.6998.35 + * CVE-2025-1914: Out of bounds read in V8 + * CVE-2025-1915: Improper Limitation of a Pathname to a Restricted Directory in DevTools + * CVE-2025-1916: Use after free in Profiles + * CVE-2025-1917: Inappropriate Implementation in Browser UI + * CVE-2025-1918: Out of bounds read in PDFium + * CVE-2025-1919: Out of bounds read in Media + * CVE-2025-1921: Inappropriate Implementation in Media Stream + * CVE-2025-1922: Inappropriate Implementation in Selection + * CVE-2025-1923: Inappropriate Implementation in Permission Prompts + +* Wed Feb 26 2025 Than Ngo - 133.0.6943.141-1 +- Update to 133.0.6943.141 + +* Wed Feb 19 2025 Than Ngo - 133.0.6943.126-1 +- Update to 133.0.6943.126 + * CVE-2025-0999: Heap buffer overflow in V8 + * CVE-2025-1426: Heap buffer overflow in GPU + * CVE-2025-1006: Use after free in Network + +* Thu Feb 13 2025 Than Ngo - 133.0.6943.98-1 +- Update to 133.0.6943.98 + * CVE-2025-0995: Use after free in V8 + * CVE-2025-0996: Inappropriate implementation in Browser UI + * CVE-2025-0997: Use after free in Navigation + * CVE-2025-0998: Out of bounds memory access in V8 + +* Tue Feb 04 2025 Than Ngo - 133.0.6943.53-1 +- Update to 133.0.6943.53 + * CVE-2025-0444: Use after free in Skia + * CVE-2025-0445: Use after free in V8 + * CVE-2025-0451: Inappropriate implementation in Extensions API + +* Wed Jan 29 2025 Than Ngo - 132.0.6834.159-1 +- Updated to 132.0.6834.159 + * Medium CVE-2025-0762: Use after free in DevTools + +* Thu Jan 23 2025 Than Ngo - 132.0.6834.110-1 +- Update to 132.0.6834.110 + * High CVE-2025-0611: Object corruption in V8 + * High CVE-2025-0612: Out of bounds memory access in V8 + +* Thu Jan 16 2025 Fedora Release Engineering - 132.0.6834.83-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 15 2025 Than Ngo - 132.0.6834.83-1 +- Update to 132.0.6834.83 + * High CVE-2025-0434: Out of bounds memory access in V8 + * High CVE-2025-0435: Inappropriate implementation in Navigation + * High CVE-2025-0436: Integer overflow in Skia + * High CVE-2025-0437: Out of bounds read in Metrics + * High CVE-2025-0438: Stack buffer overflow in Tracing + * Medium CVE-2025-0439: Race in Frames + * Medium CVE-2025-0440: Inappropriate implementation in Fullscreen + * Medium CVE-2025-0441: Inappropriate implementation in Fenced + * Medium CVE-2025-0442: Inappropriate implementation in Payments + * Medium CVE-2025-0443: Insufficient data validation in Extensions + * Low CVE-2025-0446: Inappropriate implementation in Extensions + * Low CVE-2025-0447: Inappropriate implementation in Navigation + * Low CVE-2025-0448: Inappropriate implementation in Compositing + +* Wed Jan 08 2025 Than Ngo - 131.0.6778.264-1 +- Update to 131.0.6778.264 + * High CVE-2025-0291: Type Confusion in V8 + +* Thu Dec 19 2024 Than Ngo - 131.0.6778.204-1 +- Update to 131.0.6778.204 + * High CVE-2024-12692: Type Confusion in V8 + * High CVE-2024-12693: Out of bounds memory access in V8 + * High CVE-2024-12694: Use after free in Compositing + * High CVE-2024-12695: Out of bounds write in V8 + +* Wed Dec 11 2024 Than Ngo - 131.0.6778.139-1 +- Update to 131.0.6778.139 + * High CVE-2024-12381: Type Confusion in V8 + * High CVE-2024-12382: Use after free in Translate + +* Wed Dec 04 2024 Than Ngo - 131.0.6778.108-1 +- Update to 131.0.6778.108 + * High CVE-2024-12053: Type Confusion in V8 + +* Sat Nov 23 2024 Than Ngo - 131.0.6778.85-2 +- Enable qt-ui +- Workaround for random crash + +* Wed Nov 20 2024 Than Ngo - 131.0.6778.85-1 +- Update to 131.0.6778.85 + * High CVE-2024-11395: Type Confusion in V8 + +* Tue Nov 12 2024 Than Ngo - 131.0.6778.69-1 +- Update to 131.0.6778.69 + * High CVE-2024-11110: Inappropriate implementation in Blink + * Medium CVE-2024-11111: Inappropriate implementation in Autofill + * Medium CVE-2024-11112: Use after free in Media + * Medium CVE-2024-11113: Use after free in Accessibility + * Medium CVE-2024-11114: Inappropriate implementation in Views + * Medium CVE-2024-11115: Insufficient policy enforcement in Navigation + * Medium CVE-2024-11116: Inappropriate implementation in Paint + * Low CVE-2024-11117: Inappropriate implementation in FileSystem + +* Sun Nov 10 2024 Than Ngo - 130.0.6723.116-1 +- Update to 130.0.6723.116 + * High CVE-2024-10826: Use after free in Family Experience + * High CVE-2024-10827: Use after free in Serial + +* Wed Oct 30 2024 Than Ngo - 130.0.6723.91-1 +- Update to 130.0.6723.91 + * Critical CVE-2024-10487: Out of bounds write in Dawn + * High CVE-2024-10488: Use after free in WebRTC + +* Sat Oct 26 2024 Than Ngo - 130.0.6723.69-1 +- Update to 130.0.6723.69 + * High CVE-2024-10229: Inappropriate implementation in Extensions + * High CVE-2024-10230: Type Confusion in V8 + * High CVE-2024-10231: Type Confusion in V8 + +* Mon Oct 21 2024 Than Ngo - 130.0.6723.58-2 +- Add missing pthread stack size for ppc64 (openpower-patches) + +* Wed Oct 16 2024 Than Ngo - 130.0.6723.58-1 +- update to 130.0.6723.58 + * High CVE-2024-9954: Use after free in AI + * Medium CVE-2024-9955: Use after free in Web Authentication + * Medium CVE-2024-9956: Inappropriate implementation in Web Authentication + * Medium CVE-2024-9957: Use after free in UI + * Medium CVE-2024-9958: Inappropriate implementation in PictureInPicture + * Medium CVE-2024-9959: Use after free in DevTools + * Medium CVE-2024-9960: Use after free in Dawn + * Medium CVE-2024-9961: Use after free in Parcel Tracking + * Medium CVE-2024-9962: Inappropriate implementation in Permissions + * Medium CVE-2024-9963: Insufficient data validation in Downloads + * Low CVE-2024-9964: Inappropriate implementation in Payments + * Low CVE-2024-9965: Insufficient data validation in DevTools + * Low CVE-2024-9966: Inappropriate implementation in Navigations + +* Wed Oct 09 2024 Than Ngo - 129.0.6668.100-1 +- update to 129.0.6668.100 + * CVE-2024-9602: Type Confusion in V8 + * CVE-2024-9603: Type Confusion in V8 + +* Wed Oct 02 2024 Than Ngo - 129.0.6668.89-1 +- update to 129.0.6668.89 + * High CVE -2024-7025: Integer overflow in Layout + * High CVE-2024-9369: Insufficient data validation in Mojo + * High CVE-2024-9370: Inappropriate implementation in V8 + +* Mon Sep 30 2024 Than Ngo - 129.0.6668.70-3 +- add clang-19 support + +* Fri Sep 27 2024 Dominik Mierzejewski - 129.0.6668.70-2 +- Rebuilt for FFmpeg 7 + +* Wed Sep 25 2024 Than Ngo - 129.0.6668.70-1 +- update to 129.0.6668.70 + * High CVE-2024-9120: Use after free in Dawn + * High CVE-2024-9121: Inappropriate implementation in V8 + * High CVE-2024-9122: Type Confusion in V8 + * High CVE-2024-9123: Integer overflow in Skia + +* Thu Sep 19 2024 Than Ngo - 129.0.6668.58-2 +- clean up + +* Tue Sep 17 2024 Than Ngo - 129.0.6668.58-1 +- update to 129.0.6668.58 + * High CVE-2024-8904: Type Confusion in V8 + * Medium CVE-2024-8905: Inappropriate implementation in V8 + * Medium CVE-2024-8906: Incorrect security UI in Downloads + * Medium CVE-2024-8907: Insufficient data validation in Omnibox + * Low CVE-2024-8908: Inappropriate implementation in Autofill + * Low CVE-2024-8909: Inappropriate implementation in UI + +* Wed Sep 11 2024 Than Ngo - 128.0.6613.137-1 +- update to 128.0.6613.137 + * High CVE-2024-8636: Heap buffer overflow in Skia + * High CVE-2024-8637: Use after free in Media Router + * High CVE-2024-8638: Type Confusion in V8 + * High CVE-2024-8639: Use after free in Autofill + +* Thu Sep 05 2024 Than Ngo - 128.0.6613.119-1 +- update to 128.0.6613.119 + * High CVE-2024-8362: Use after free in WebAudio + * High CVE-2024-7970: Out of bounds write in V8 + +* Wed Aug 07 2024 Than Ngo - 127.0.6533.99-1 +- update to 127.0.6533.99 + * Critical CVE-2024-7532: Out of bounds memory access in ANGLE + * High CVE-2024-7533: Use after free in Sharing + * High CVE-2024-7550: Type Confusion in V8 + * High CVE-2024-7534: Heap buffer overflow in Layout + * High CVE-2024-7535: Inappropriate implementation in V8 + * High CVE-2024-7536: Use after free in WebAudio + +* Tue Aug 06 2024 Than Ngo - 127.0.6533.88-3 +- fix rhbz#2294773 - Allow enabling vulkan on ozone wayland for AMD vaapi +- add ppc64le patch to fix runtime assertion trap on ppc64el systems +- refresh ppc64le patch to work around broken 64k allocator code on arm64 + +* Thu Aug 01 2024 Than Ngo - 127.0.6533.88-2 +- remove old patch that seems to be the cause of a crash + when the user set user.max_user_namespaces to 0 + +* Wed Jul 31 2024 Than Ngo - 127.0.6533.88-1 +- update to 127.0.6533.88 + +* Wed Jul 24 2024 Than Ngo - 127.0.6533.72-1 +- update to 127.0.6533.72 + * CVE-2024-6988: Use after free in Downloads + * CVE-2024-6989: Use after free in Loader + * CVE-2024-6991: Use after free in Dawn + * CVE-2024-6992: Out of bounds memory access in ANGLE + * CVE-2024-6993: Inappropriate implementation in Canvas + * CVE-2024-6994: Heap buffer overflow in Layout + * CVE-2024-6995: Inappropriate implementation in Fullscreen + * CVE-2024-6996: Race in Frames + * CVE-2024-6997: Use after free in Tabs + * CVE-2024-6998: Use after free in User Education + * CVE-2024-6999: Inappropriate implementation in FedCM + * CVE-2024-7000: Use after free in CSS. Reported by Anonymous + * CVE-2024-7001: Inappropriate implementation in HTML + * CVE-2024-7003: Inappropriate implementation in FedCM + * CVE-2024-7004: Insufficient validation of untrusted input in Safe Browsing + * CVE-2024-7005: Insufficient validation of untrusted input in Safe + +* Sat Jul 20 2024 Than Ngo - 126.0.6478.182-2 +- fix condition for is_cfi/use_thin_lto on aarch64/ppc64le +- update powerpc patches + +* Tue Jul 16 2024 Than Ngo - 126.0.6478.182-1 +- update to 126.0.6478.182 + * High CVE-2024-6772: Inappropriate implementation in V8 + * High CVE-2024-6773: Type Confusion in V8 + * High CVE-2024-6774: Use after free in Screen Capture + * High CVE-2024-6775: Use after free in Media Stream + * High CVE-2024-6776: Use after free in Audio + * High CVE-2024-6777: Use after free in Navigation + * High CVE-2024-6778: Race in DevTools + * High CVE-2024-6779: Out of bounds memory access in V8 + +* Sun Jul 07 2024 Than Ngo - 126.0.6478.126-2 +- fixed rhbz#2293202, chromium Wayland UI regression + +* Tue Jun 25 2024 Than Ngo - 126.0.6478.126-1 +- update to 126.0.6478.126 + * High CVE-2024-6290: Use after free in Dawn + * High CVE-2024-6291: Use after free in Swiftshader + * High CVE-2024-6292: Use after free in Dawn + * High CVE-2024-6293: Use after free in Dawn + +* Wed Jun 19 2024 Than Ngo - 126.0.6478.114-1 +- update to 126.0.6478.114 + * High CVE-2024-6100: Type Confusion in V8 + * High CVE-2024-6101: Inappropriate implementation in WebAssembly + * High CVE-2024-6102: Out of bounds memory access in Dawn + * High CVE-2024-6103: Use after free in Dawn + +* Wed Jun 12 2024 Than Ngo - 126.0.6478.55-1 +- update to 126.0.6478.55 + * High CVE-2024-5830: Type Confusion in V8 + * High CVE-2024-5831: Use after free in Dawn + * High CVE-2024-5832: Use after free in Dawn + * High CVE-2024-5833: Type Confusion in V8 + * High CVE-2024-5834: Inappropriate implementation in Dawn + * High CVE-2024-5835: Heap buffer overflow in Tab Groups + * High CVE-2024-5836: Inappropriate Implementation in DevTools + * High CVE-2024-5837: Type Confusion in V8 + * High CVE-2024-5838: Type Confusion in V8 + * Medium CVE-2024-5839: Inappropriate Implementation in Memory Allocator + * Medium CVE-2024-5840: Policy Bypass in CORS + * Medium CVE-2024-5841: Use after free in V8 + * Medium CVE-2024-5842: Use after free in Browser UI + * Medium CVE-2024-5843: Inappropriate implementation in Downloads + * Medium CVE-2024-5844: Heap buffer overflow in Tab Strip + * Medium CVE-2024-5845: Use after free in Audio + * Medium CVE-2024-5846: Use after free in PDFium + * Medium CVE-2024-5847: Use after free in PDFium + +* Fri May 31 2024 Than Ngo - 125.0.6422.141-1 +- update to 125.0.6422.141 + * High CVE-2024-5493: Heap buffer overflow in WebRTC + * High CVE-2024-5494: Use after free in Dawn + * High CVE-2024-5495: Use after free in Dawn + * High CVE-2024-5496: Use after free in Media Session + * High CVE-2024-5497: Out of bounds memory access in Keyboard Inputs + * High CVE-2024-5498: Use after free in Presentation API + * High CVE-2024-5499: Out of bounds write in Streams API +- fixed rhbz#2264332 - Chromium is unable to send/receive video on MS Teams +- cleanup chromium.conf + +* Wed May 29 2024 Than Ngo - 125.0.6422.112-3 +- build against noopenh264 + +* Tue May 28 2024 Than Ngo - 125.0.6422.112-2 +- Workaround for build error on pp64le + +* Sun May 26 2024 Than Ngo - 125.0.6422.112-1 +- update to 125.0.6422.112 + * High CVE-2024-5274: Type Confusion in V8 + +* Wed May 22 2024 Than Ngo - 125.0.6422.76-1 +- fix bz#2282246, update to 125.0.6422.76 + * High CVE-2024-5157: Use after free in Scheduling + * High CVE-2024-5158: Type Confusion in V8 + * High CVE-2024-5159: Heap buffer overflow in ANGLE + * High CVE-2024-5160: Heap buffer overflow in Dawn +- cleanup + +* Mon May 20 2024 Than Ngo - 125.0.6422.60-3 +- remove unneeded BRs +- workarounds for el7 build + +* Sun May 19 2024 Than Ngo - 125.0.6422.60-2 +- fix build errors on el7 + +* Thu May 16 2024 Than Ngo - 125.0.6422.60-1 +- update to 125.0.6422.60 + * High CVE-2024-4947: Type Confusion in V8 + * High CVE-2024-4948: Use after free in Dawn + * Medium CVE-2024-4949: Use after free in V8 + * Low CVE-2024-4950: Inappropriate implementation in Downloads + +* Sun May 12 2024 Than Ngo - 125.0.6422.41-1 +- update to 125.0.6422.41 + +* Sat May 11 2024 Than Ngo - 124.0.6367.201-2 +- include headless_command_resources.pak for headless_shell + +* Fri May 10 2024 Than Ngo - 124.0.6367.201-1 +- update to 124.0.6367.201 + * High CVE-2024-4671: Use after free in Visuals + +* Wed May 08 2024 Than Ngo - 124.0.6367.155-1 +- update to 124.0.6367.155 + * High CVE-2024-4558: Use after free in ANGLE + * High CVE-2024-4559: Heap buffer overflow in WebAudio + +* Sun May 05 2024 Than Ngo - 124.0.6367.118-2 +- fixed build errors on el8 +- refreshed clean_ffmpeg.sh +- added missing files for bundle ffmpeg + +* Wed May 01 2024 Than Ngo - 124.0.6367.118-1 +- update to 124.0.6367.118 + * High CVE-2024-4331: Use after free in Picture In Picture + * High CVE-2024-4368: Use after free in Dawn +- use system highway + +* Sat Apr 27 2024 Than Ngo - 124.0.6367.91-1 +- update to 124.0.6367.91 +- fixed bz#2277228 - chromium wrapper causes library issues (symbol lookup error) +- use system dav1d + +* Wed Apr 24 2024 Than Ngo - 124.0.6367.78-1 +- update to 124.0.6367.78 + * Critical CVE-2024-4058: Type Confusion in ANGLE + * High CVE-2024-4059: Out of bounds read in V8 API + * High CVE-2024-4060: Use after free in Dawn + +* Sat Apr 20 2024 Than Ngo - 124.0.6367.60-2 +- fix waylang regression + +* Tue Apr 16 2024 Than Ngo - 124.0.6367.60-1 +- update to 124.0.6367.60 + +* Thu Apr 11 2024 Than Ngo - 123.0.6312.122-1 +- update to 123.0.6312.122 + * High CVE-2024-3157: Out of bounds write in Compositing + * High CVE-2024-3516: Heap buffer overflow in ANGLE + * High CVE-2024-3515: Use after free in Dawn + +* Wed Apr 03 2024 Than Ngo - 123.0.6312.105-1 +- update to 123.0.6312.105 + * High CVE-2024-3156: Inappropriate implementation in V8 + * High CVE-2024-3158: Use after free in Bookmarks + * High CVE-2024-3159: Out of bounds memory access in V8 + +* Wed Mar 27 2024 Than Ngo - 123.0.6312.86-2 +- update to 123.0.6312.86 + * Critical CVE-2024-2883: Use after free in ANGLE + * High CVE-2024-2885: Use after free in Daw + * High CVE-2024-2886: Use after free in WebCodecs + * High CVE-2024-2887: Type Confusion in WebAssembly + +* Sat Mar 23 2024 Than Ngo - 123.0.6312.58-2 +- fixed bz#2269768 - enable build ppc64le package for F40 +- fixed bz#2270321 - VAAPI flags in chromium.conf are out of date +- fixed bz#2271183 - disable screen ai service + +* Wed Mar 20 2024 Than Ngo - 123.0.6312.58-1 +- update to 123.0.6312.58 + * High CVE-2024-2625: Object lifecycle issue in V8 + * Medium CVE-2024-2626: Out of bounds read in Swiftshader + * Medium CVE-2024-2627: Use after free in Canvas + * Medium CVE-2024-2628: Inappropriate implementation in Downloads + * Medium CVE-2024-2629: Incorrect security UI in iOS + * Medium CVE-2024-2630: Inappropriate implementation in iOS + * Low CVE-2024-2631: Inappropriate implementation in iOS + +* Fri Mar 15 2024 Than Ngo - 123.0.6312.46-1 +- update to 123.0.6312.46 + +* Wed Mar 13 2024 Than Ngo - 122.0.6261.128-1 +- upstream security release 122.0.6261.128 + * High CVE-2024-2400: Use after free in Performance Manager + +* Mon Mar 11 2024 Than Ngo - 122.0.6261.111-2 +- enable ppc64le build + +* Wed Mar 06 2024 Than Ngo - 122.0.6261.111-1 +- upstream security release 122.0.6261.111 + * High CVE-2024-2173: Out of bounds memory access in V8 + * High CVE-2024-2174: Inappropriate implementation in V8 + * High CVE-2024-2176: Use after free in FedCM + +* Sat Mar 02 2024 Jiri Vanek - 122.0.6261.94-2 +- Rebuilt for java-21-openjdk as system jdk + +* Wed Feb 28 2024 Than Ngo - 122.0.6261.94-1 +- upstream security release 122.0.6261.94 + * High : Type Confusion in V8 +- fixed bz#2265957, added correct platform in chromium use agent + +* Tue Feb 27 2024 Łukasz Wojniłowicz - 122.0.6261.69-3 +- Make building of chromedriver optional + +* Tue Feb 27 2024 Jiri Vanek - 122.0.6261.69-2 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Than Ngo - 122.0.6261.69-1 +- update to 122.0.6261.69 +- fix build error on el8 +- bz#2265039, built with -fwrapv for improved memory safety +- bz#2265043, built with -ftrivial-auto-var-init=zero for improved security and preditability + +* Wed Feb 21 2024 Than Ngo - 122.0.6261.57-1 +- update to 122.0.6261.57 + * High CVE-2024-1669: Out of bounds memory access in Blink + * High CVE-2024-1670: Use after free in Mojo + * Medium CVE-2024-1671: Inappropriate implementation in Site Isolation + * Medium CVE-2024-1672: Inappropriate implementation in Content Security Policy + * Medium CVE-2024-1673: Use after free in Accessibility + * Medium CVE-2024-1674: Inappropriate implementation in Navigation + * Medium CVE-2024-1675: Insufficient policy enforcement in Download + * Low CVE-2024-1676: Inappropriate implementation in Navigation. + +* Sun Feb 18 2024 Than Ngo - 122.0.6261.39-1 +- update to 122.0.6261.39 + +* Wed Feb 14 2024 Than Ngo - 121.0.6167.184-1 +- update to 121.0.6167.184 + +* Wed Feb 07 2024 Than Ngo - 121.0.6167.160-1 +- update to 121.0.6167.160 + * High CVE-2024-1284: Use after free in Mojo + * High CVE-2024-1283: Heap buffer overflow in Skia + +* Thu Feb 01 2024 Than Ngo - 121.0.6167.139-2 +- Support for 64K pages on Linux/AArch64 + +* Wed Jan 31 2024 Than Ngo - 121.0.6167.139-1 +- update to 121.0.6167.139 + * High CVE-2024-1060: Use after free in Canvas + * High CVE-2024-1059: Use after free in WebRTC + * High CVE-2024-1077: Use after free in Network + +* Wed Jan 24 2024 Than Ngo - 121.0.6167.85-1 +- update to 121.0.6167.85 + * High CVE-2024-0807: Use after free in WebAudio + * High CVE-2024-0812: Inappropriate implementation in Accessibility + * High CVE-2024-0808: Integer underflow in WebUI + * Medium CVE-2024-0810: Insufficient policy enforcement in DevTools + * Medium CVE-2024-0814: Incorrect security UI in Payments + * Medium CVE-2024-0813: Use after free in Reading Mode + * Medium CVE-2024-0806: Use after free in Passwords + * Medium CVE-2024-0805: Inappropriate implementation in Downloads + * Medium CVE-2024-0804: Insufficient policy enforcement in iOS Security UI + * Low CVE-2024-0811: Inappropriate implementation in Extensions API + * Low CVE-2024-0809: Inappropriate implementation in Autofill + +* Tue Jan 23 2024 Than Ngo - 121.0.6167.71-1 +- update to 121.0.6167.71 + +* Tue Jan 23 2024 Fedora Release Engineering - 120.0.6099.224-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 16 2024 Than Ngo - 120.0.6099.224-1 +- update to 120.0.6099.224 + * High CVE-2024-0517: Out of bounds write in V8 + * High CVE-2024-0518: Type Confusion in V8 + * High CVE-2024-0519: Out of bounds memory access in V8 + +* Wed Jan 10 2024 Than Ngo - 120.0.6099.216-1 +- update to 120.0.6099.216 + * High CVE-2024-0333: Insufficient data validation in Extensions + +* Thu Jan 04 2024 Than Ngo - 120.0.6099.199-1 +- new gn update, drop workaround for broken gn on epel 8/9 +- update to 120.0.6099.199 + * CVE-2024-0222: Use after free in ANGLE + * CVE-2024-0223: Heap buffer overflow in ANGLE + * CVE-2024-0224: Use after free in WebAudio + * CVE-2024-0225: Use after free in WebGPU + +* Thu Dec 21 2023 Than Ngo - 120.0.6099.129-1 +- update to 120.0.6099.129 + * High CVE-2023-7024: Heap buffer overflow in WebRTC + +* Wed Dec 13 2023 Than Ngo - 120.0.6099.109-1 +- update to 120.0.6099.109 + * High CVE-2023-6702: Type Confusion in V8 + * High CVE-2023-6703: Use after free in Blink + * High CVE-2023-6704: Use after free in libavif + * High CVE-2023-6705: Use after free in WebRTC + * High CVE-2023-6706: Use after free in FedCM + * Medium CVE-2023-6707: Use after free in CSS + +* Fri Dec 08 2023 Than Ngo - 120.0.6099.71-1 +- update to 120.0.6099.71 + +* Wed Dec 06 2023 Than Ngo - 120.0.6099.62-2 +- drop unsupported ldflag which caused build failure + +* Tue Dec 05 2023 Than Ngo - 120.0.6099.62-1 +- update to 120.0.6099.62 +- fixed bz#2252874, built with control flow integrity (CFI) support + +* Sat Dec 02 2023 Than Ngo - 120.0.6099.56-1 +- update to 120.0.6099.56 +- enable qt6 UI backend + +* Sat Dec 02 2023 Than Ngo - 119.0.6045.199-2 +- fixed bz#2242271, built with bundleminizip in fedora > 39 +- fixed bz#2251884, built with fstack-protector-strong for improved security + * Wed Nov 29 2023 Than Ngo - 119.0.6045.199-1 - update to 119.0.6045.199 @@ -3278,4 +4268,3 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt * Mon Sep 9 2013 Tomas Popela 29.0.1547.65-1 - Initial version based on Tom Callaway's work - diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index d2f50ad..8b323d5 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -1,5 +1,6 @@ #!/bin/bash # Copyright 2013-2015 Tomas Popela +# Copyright 2022-2024 Than Ngo # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including @@ -42,6 +43,10 @@ function copy_files() { where=$(pwd) +pushd $1 +patch -p0 < ../ffmpeg-clean.patch +popd + if ! generated_files=$(./get_free_ffmpeg_source_files.py "$1" "$2"); then exit 1 fi @@ -67,6 +72,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/aacpsdsp.h \ libavcodec/aacsbrdata.h \ libavcodec/aac_ac3_parser.h \ + libavcodec/parser.h \ libavcodec/aac_defines.h \ libavcodec/ac3.h \ libavcodec/ac3defs.h \ @@ -87,9 +93,6 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/dv.h \ libavcodec/error_resilience.h \ libavcodec/fdctdsp.h \ - libavcodec/fft.h \ - libavcodec/fft-internal.h \ - libavcodec/fft_table.h \ libavcodec/flac.h \ libavcodec/flacdsp.h \ libavcodec/flac_parse.h \ @@ -97,12 +100,14 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/get_bits.h \ libavcodec/h263dsp.h \ libavcodec/h264chroma.h \ - libavcodec/hevc.h \ + libavcodec/hevc/hevc.h \ libavcodec/hpeldsp.h \ libavcodec/hwaccels.h \ + libavcodec/hwaccel_internal.h \ libavcodec/hwconfig.h \ libavcodec/idctdsp.h \ libavcodec/internal.h \ + libavcodec/itut35.h \ libavcodec/kbdwin.h \ libavcodec/mathops.h \ libavcodec/me_cmp.h \ @@ -121,12 +126,9 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/mpegvideo.h \ libavcodec/mpegvideodata.h \ libavcodec/mpegvideoencdsp.h \ + libavcodec/opus/enc.h \ + libavcodec/opus/opus.h \ libavcodec/options_table.h \ - libavcodec/opus.h \ - libavcodec/opusdsp.h \ - libavcodec/opus_celt.h \ - libavcodec/opus_pvq.h \ - libavcodec/opus_rc.h \ libavcodec/packet.h \ libavcodec/packet_internal.h \ libavcodec/pcm_tablegen.h \ @@ -134,6 +136,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/pixels.h \ libavcodec/png.h \ libavcodec/pngdsp.h \ + libavcodec/progressframe.h \ libavcodec/put_bits.h \ libavcodec/qpeldsp.h \ libavcodec/ratecontrol.h \ @@ -177,11 +180,16 @@ header_files=" libavcodec/x86/inline_asm.h \ libavformat/version.h \ libavformat/version_major.h \ libavformat/w64.h \ + libavformat/iamf_parse.h \ + libavformat/iamf_reader.h \ + libavformat/iamf.h \ + libavformat/dvdclut.h \ libavutil/aarch64/cpu.h \ + libavutil/aarch64/intreadwrite.h \ libavutil/x86/asm.h \ libavutil/x86/bswap.h \ libavutil/x86/cpu.h \ - libavutil/x86/emms.h + libavutil/emms.h \ libavutil/x86/intreadwrite.h \ libavutil/x86/intmath.h libavutil/x86/timer.h \ @@ -217,18 +225,20 @@ header_files=" libavcodec/x86/inline_asm.h \ libavutil/timestamp.h \ libavutil/tx_priv.h \ libavutil/version.h \ + libavutil/sfc64.h \ + libavutil/executor.h \ libswresample/swresample.h \ libswresample/version.h \ libswresample/version_major.h \ - compat/va_copy.h \ - compat/atomics/gcc/stdatomic.h " + compat/va_copy.h " -manual_files=" libavcodec/aarch64/fft_neon.S \ - libavcodec/aarch64/h264pred_neon.S \ +manual_files=" libavcodec/aarch64/h264pred_neon.S \ libavcodec/aarch64/hpeldsp_neon.S \ - libavcodec/aarch64/mdct_neon.S \ libavcodec/aarch64/neon.S \ libavcodec/aarch64/vorbisdsp_neon.S \ + libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S \ + libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_init.c \ + libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c \ libavcodec/aarch64/vorbisdsp_init.c \ libavcodec/aarch64/vp8dsp_neon.S \ libavcodec/x86/hpeldsp.asm \ @@ -240,7 +250,6 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/vp3dsp.asm \ libavcodec/x86/vp8dsp.asm \ libavcodec/bit_depth_template.c \ - libavcodec/fft_template.c \ libavcodec/flacdec.c \ libavcodec/flacdsp.c \ libavcodec/flacdsp_template.c \ @@ -248,8 +257,8 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/h264pred_template.c \ libavcodec/hpel_template.c \ libavcodec/hpeldsp.c \ - libavcodec/mdct_template.c \ libavcodec/options.c \ + libavcodec/parser.c \ libavcodec/pcm.c \ libavcodec/pel_template.c \ libavcodec/utils.c \ @@ -263,11 +272,16 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavformat/pcm.c \ libavformat/utils.c \ libavformat/version.c \ + libavformat/dvdclut.c \ libavutil/aarch64/asm.S \ - libavutil/aarch64/bswap.h \ libavutil/aarch64/cpu.c \ + libavutil/aarch64/cpu_sve.S \ libavutil/aarch64/float_dsp_init.c \ libavutil/aarch64/float_dsp_neon.S \ + libavutil/aarch64/autorename_libavutil_aarch64_cpu.c \ + libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_init.c \ + libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S \ + libavutil/aarch64/tx_float_neon.S \ libavutil/aarch64/timer.h \ libavutil/cpu.c \ libavutil/fixed_dsp.c \ @@ -280,6 +294,8 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavutil/x86/cpu.c \ libavutil/x86/float_dsp_init.c \ libavutil/x86/tx_float_init.c \ + libavutil/aarch64/tx_float_init.c \ + libavutil/executor.c \ libavutil/x86/x86inc.asm \ libavutil/x86/x86util.asm " @@ -301,7 +317,6 @@ mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ libavcodec/autorename_libavcodec_mpegaudiodsp.c \ libavcodec/autorename_libavcodec_sbrdsp.c \ libavcodec/cbrt_data.c \ - libavcodec/dct.c \ libavcodec/dct32_fixed.c \ libavcodec/dct32_float.c \ libavcodec/dct32_template.c \ @@ -319,7 +334,6 @@ mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ libavcodec/sbrdsp.c \ libavcodec/sbrdsp_template.c \ libavcodec/sinewin.c \ - libavcodec/x86/dct_init.c \ libavcodec/x86/dct32.asm \ libavcodec/x86/imdct36.asm \ libavcodec/x86/mpegaudiodsp.c \ diff --git a/dawn-fix-ppc64le-detection.patch b/dawn-fix-ppc64le-detection.patch new file mode 100644 index 0000000..9eb8581 --- /dev/null +++ b/dawn-fix-ppc64le-detection.patch @@ -0,0 +1,19 @@ +Index: chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/dawn/src/dawn/common/Platform.h ++++ chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h +@@ -163,10 +163,12 @@ + #elif defined(__s390x__) + #define DAWN_PLATFORM_IS_S390X 1 + +-#elif defined(__PPC__) +-#define DAWN_PLATFORM_IS_PPC 1 ++// Order matters here ++// PPC64 also defines PPC, which can lead to detection failures on ppc64le systems + #elif defined(__PPC64__) + #define DAWN_PLATFORM_IS_PPC64 1 ++#elif defined(__PPC__) ++#define DAWN_PLATFORM_IS_PPC 1 + + #elif defined(__wasm32__) + #define DAWN_PLATFORM_IS_WASM32 1 diff --git a/ffmpeg-clean.patch b/ffmpeg-clean.patch new file mode 100644 index 0000000..fa2de3f --- /dev/null +++ b/ffmpeg-clean.patch @@ -0,0 +1,17 @@ +diff -up third_party/ffmpeg/ffmpeg_generated.gni.me third_party/ffmpeg/ffmpeg_generated.gni +--- third_party/ffmpeg/ffmpeg_generated.gni.me 2024-07-19 23:49:33.776963768 +0200 ++++ third_party/ffmpeg/ffmpeg_generated.gni 2024-07-19 23:50:14.377819007 +0200 +@@ -14,10 +14,10 @@ ffmpeg_asm_sources = [] + + use_linux_config = is_linux || is_chromeos || is_fuchsia + +-if (current_cpu == "arm64" || current_cpu == "x64" || ++if ((current_cpu == "arm64") || (current_cpu == "x64") || + (is_android && current_cpu == "arm" && arm_use_neon) || +- (is_android && current_cpu == "x86") || is_apple || is_win || +- use_linux_config) { ++ (is_android && current_cpu == "x86") || (is_apple) || (is_win) || ++ (use_linux_config)) { + ffmpeg_c_sources += [ + "libavcodec/ac3_channel_layout_tab.c", + "libavcodec/ac3_parser.c", diff --git a/fix-breakpad-compile.patch b/fix-breakpad-compile.patch new file mode 100644 index 0000000..7ad360b --- /dev/null +++ b/fix-breakpad-compile.patch @@ -0,0 +1,29 @@ +Index: chromium-144.0.7559.59/third_party/breakpad/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/breakpad/BUILD.gn ++++ chromium-144.0.7559.59/third_party/breakpad/BUILD.gn +@@ -804,7 +804,6 @@ if (is_linux || is_chromeos || is_androi + "breakpad/src/client/minidump_file_writer.h", + "breakpad/src/common/convert_UTF.cc", + "breakpad/src/common/convert_UTF.h", +- "breakpad/src/common/linux/breakpad_getcontext.S", + "breakpad/src/common/linux/elf_core_dump.cc", + "breakpad/src/common/linux/elf_core_dump.h", + "breakpad/src/common/linux/elfutils.cc", +@@ -836,6 +835,8 @@ if (is_linux || is_chromeos || is_androi + configs += [ "//build/config/compiler:no_chromium_code" ] + public_configs = [ ":client_config" ] + ++ defines = [ "HAVE_GETCONTEXT" ] ++ + if (current_cpu == "arm" && is_chromeos_ash) { + # Avoid running out of registers in + # linux_syscall_support.h:sys_clone()'s inline assembly. +@@ -893,7 +894,6 @@ if (is_linux || is_chromeos || is_androi + "breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc", + "breakpad/src/client/linux/minidump_writer/minidump_writer_unittest_utils.cc", + "breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader_unittest.cc", +- "breakpad/src/common/linux/breakpad_getcontext_unittest.cc", + "breakpad/src/common/linux/elf_core_dump_unittest.cc", + "breakpad/src/common/linux/file_id_unittest.cc", + "breakpad/src/common/linux/linux_libc_support_unittest.cc", diff --git a/fix-different-data-layouts.patch b/fix-different-data-layouts.patch new file mode 100644 index 0000000..31e5254 --- /dev/null +++ b/fix-different-data-layouts.patch @@ -0,0 +1,39 @@ +Author: Daniel Richard G. + +When building Chromium on unstable/ppc64el with ThinLTO enabled, this error +occurs in the final link: + + ld.lld-16: error: Linking two modules of different data layouts: + $C_CXX_OBJECT is 'e-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512' whereas + $RUST_LIBRARY is 'e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512' + +This is because the LLVM data layout for powerpc64le-unknown-linux-gnu has +evolved over time, gaining the "Fn32" bit that specifies function pointer +alignment. See the following source locations: + + llvm-project/clang/lib/Basic/Targets/PPC.h + (class PPC64TargetInfo, under "Triple.getArch() == llvm::Triple::ppc64le") + + rust/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs + (note that this file was relocated in a later version) + +This change occurred in clang-17, and rustc followed suit in 1.73.0. Since +we use an older clang and a newer rustc in our unstable build, we get an +inconsistency in data layouts when targeting this particular platform. + +The error reported by the linker is not technically an error, however, only +a warning goosed up by a --fatal-warnings flag. + +Index: chromium-144.0.7559.59/build/config/compiler/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/build/config/compiler/BUILD.gn ++++ chromium-144.0.7559.59/build/config/compiler/BUILD.gn +@@ -470,7 +470,7 @@ config("compiler") { + + # Linker warnings. + if (fatal_linker_warnings && !is_apple && current_os != "aix" && +- current_os != "zos") { ++ current_os != "zos" && current_cpu != "ppc64") { + ldflags += [ "-Wl,--fatal-warnings" ] + } + if (fatal_linker_warnings && is_apple) { diff --git a/fix-page-allocator-overflow.patch b/fix-page-allocator-overflow.patch new file mode 100644 index 0000000..0cda503 --- /dev/null +++ b/fix-page-allocator-overflow.patch @@ -0,0 +1,26 @@ +Index: chromium-144.0.7559.59/base/allocator/dispatcher/tls.h +=================================================================== +--- chromium-144.0.7559.59.orig/base/allocator/dispatcher/tls.h ++++ chromium-144.0.7559.59/base/allocator/dispatcher/tls.h +@@ -88,6 +88,8 @@ struct BASE_EXPORT MMapAllocator { + constexpr static size_t AllocationChunkSize = 16384; + #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) + constexpr static size_t AllocationChunkSize = 16384; ++#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64) ++ constexpr static size_t AllocationChunkSize = 16384; + #else + constexpr static size_t AllocationChunkSize = 4096; + #endif +Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h +=================================================================== +--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h ++++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h +@@ -399,7 +399,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDir + // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation + // where a normal slot span will be large enough to contain multiple items, + // but the address will go over the final partition page after being aligned. +-#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) ++#if PA_BUILDFLAG(IS_LINUX) && (PA_BUILDFLAG(PA_ARCH_CPU_ARM64) || PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) + constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; + #else + constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/fix-partition-alloc-compile.patch b/fix-partition-alloc-compile.patch new file mode 100644 index 0000000..2fd5cfb --- /dev/null +++ b/fix-partition-alloc-compile.patch @@ -0,0 +1,15 @@ +kIndex: chromium-114.0.5735.45/base/allocator/partition_allocator/partition_alloc.gni +=================================================================== +Index: chromium-144.0.7559.59/base/allocator/partition_allocator/partition_alloc.gni +=================================================================== +--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/partition_alloc.gni ++++ chromium-144.0.7559.59/base/allocator/partition_allocator/partition_alloc.gni +@@ -71,7 +71,7 @@ is_clang_or_gcc = is_clang || !is_win + # Whether 64-bit pointers are used. + # A static_assert in partition_alloc_config.h verifies that. + if (current_cpu == "x64" || current_cpu == "arm64" || current_cpu == "arm64e" || +- current_cpu == "loong64" || current_cpu == "riscv64") { ++ current_cpu == "loong64" || current_cpu == "riscv64" || current_cpu == "ppc64") { + assert(current_cpu != "arm64e" || (is_ios && target_environment == "device")) + has_64_bit_pointers = true + } else if (current_cpu == "x86" || current_cpu == "arm" || diff --git a/fix-rust-linking.patch b/fix-rust-linking.patch new file mode 100644 index 0000000..dca5333 --- /dev/null +++ b/fix-rust-linking.patch @@ -0,0 +1,34 @@ +Index: chromium-144.0.7559.59/build/toolchain/gcc_toolchain.gni +=================================================================== +--- chromium-144.0.7559.59.orig/build/toolchain/gcc_toolchain.gni ++++ chromium-144.0.7559.59/build/toolchain/gcc_toolchain.gni +@@ -415,7 +415,13 @@ template("single_gcc_toolchain") { + # -soname flag is not available on aix ld + soname_flag = "-Wl,-soname=\"$soname\"" + } +- link_command = "$ld -shared $soname_flag {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\" {{rlibs}}" ++ if (target_cpu == "ppc64") { ++ # Work around linker failures due to Rust libraries and the use of whole-archive ++ link_command = "$ld -shared $soname_flag -Wl,--start-group {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\" {{rlibs}} -Wl,--end-group" ++ } ++ else { ++ link_command = "$ld -shared $soname_flag {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" @\"$rspfile\" {{rlibs}}" ++ } + + # Generate a map file to be used for binary size analysis. + # Map file adds ~10% to the link time on a z620. +@@ -527,7 +533,13 @@ template("single_gcc_toolchain") { + whole_archive_flag = "-Wl,--whole-archive" + no_whole_archive_flag = "-Wl,--no-whole-archive" + } +- command = "$ld -shared {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" $soname_flag @\"$rspfile\"" ++ if (target_cpu == "ppc64") { ++ # Work around linker failures due to Rust libraries and the use of whole-archive ++ command = "$ld -shared -Wl,--start-group {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" $soname_flag @\"$rspfile\" -Wl,--end-group" ++ } ++ else { ++ command = "$ld -shared {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" $soname_flag @\"$rspfile\"" ++ } + + if (defined(invoker.strip)) { + strip_command = "${invoker.strip} -o \"$sofile\" \"$unstripped_sofile\"" diff --git a/fix-rustc.patch b/fix-rustc.patch new file mode 100644 index 0000000..d5b7a2c --- /dev/null +++ b/fix-rustc.patch @@ -0,0 +1,16 @@ +author: Andres Salomon +description: allow ppc64le to build by using proper rustc target +Index: chromium-144.0.7559.59/build/config/rust.gni +=================================================================== +--- chromium-144.0.7559.59.orig/build/config/rust.gni ++++ chromium-144.0.7559.59/build/config/rust.gni +@@ -186,6 +186,9 @@ rust_abi_target = "" + if (is_linux || is_chromeos) { + if (current_cpu == "arm64") { + rust_abi_target = "aarch64-unknown-linux-gnu" ++ } else if (current_cpu == "ppc64") { ++ rust_abi_target = "powerpc64le-unknown-linux-gnu" ++ cargo_target_abi = "" + } else if (current_cpu == "x86") { + rust_abi_target = "i686-unknown-linux-gnu" + } else if (current_cpu == "x64") { diff --git a/fix-study-crash.patch b/fix-study-crash.patch new file mode 100644 index 0000000..0a0dd1b --- /dev/null +++ b/fix-study-crash.patch @@ -0,0 +1,28 @@ +Index: chromium-144.0.7559.59/components/variations/proto/study.proto +=================================================================== +--- chromium-144.0.7559.59.orig/components/variations/proto/study.proto ++++ chromium-144.0.7559.59/components/variations/proto/study.proto +@@ -293,6 +293,9 @@ message Study { + // A Mac-only value, indicating an x86-64 binary running on an arm64 host + // via "Rosetta 2" binary translation. + TRANSLATED_X86_64 = 4; ++ ++ // A POSIX-only value, indicating an OpenPOWER host ++ PPC64 = 5; + } + + // Enum to pass as optional bool. +Index: chromium-144.0.7559.59/components/variations/service/variations_field_trial_creator.cc +=================================================================== +--- chromium-144.0.7559.59.orig/components/variations/service/variations_field_trial_creator.cc ++++ chromium-144.0.7559.59/components/variations/service/variations_field_trial_creator.cc +@@ -108,6 +108,9 @@ Study::CpuArchitecture GetCurrentCpuArch + if (process_arch == "x86") { + return Study::X86_32; + } ++ if (process_arch == "PPC_64") { ++ return Study::PPC64; ++ } + if (process_arch == "x86_64") { + std::string os_arch = base::SysInfo::OperatingSystemArchitecture(); + if (base::StartsWith(os_arch, "arm", diff --git a/fix-unknown-warning-option-messages.diff b/fix-unknown-warning-option-messages.diff new file mode 100644 index 0000000..1555a08 --- /dev/null +++ b/fix-unknown-warning-option-messages.diff @@ -0,0 +1,26 @@ +Index: chromium-144.0.7559.59/build/config/compiler/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/build/config/compiler/BUILD.gn ++++ chromium-144.0.7559.59/build/config/compiler/BUILD.gn +@@ -2129,7 +2129,9 @@ config("default_warnings") { + + # Don't warn about "maybe" uninitialized. Clang doesn't include this + # in -Wall but gcc does, and it gives false positives. +- cflags += [ "-Wno-maybe-uninitialized" ] ++ if (current_cpu != "ppc64") { ++ cflags += [ "-Wno-maybe-uninitialized" ] ++ } + cflags += [ "-Wno-deprecated-declarations" ] + + # -Wcomment gives too many false positives in the case a +@@ -2140,7 +2142,9 @@ config("default_warnings") { + + # -Wpacked-not-aligned complains all generated mojom-shared-internal.h + # files. +- cflags += [ "-Wno-packed-not-aligned" ] ++ if (current_cpu != "ppc64") { ++ cflags += [ "-Wno-packed-not-aligned" ] ++ } + } + } + diff --git a/flatpak-Add-initial-sandbox-support.patch b/flatpak-Add-initial-sandbox-support.patch new file mode 100644 index 0000000..9a042f7 --- /dev/null +++ b/flatpak-Add-initial-sandbox-support.patch @@ -0,0 +1,1325 @@ +From c82dcae326090d3b7e31694a7e229f536ead56b7 Mon Sep 17 00:00:00 2001 +From: Ryan Gonzalez +Date: Tue, 17 Mar 2020 13:18:27 -0500 +Subject: [PATCH] flatpak: Add initial sandbox support + +--- + .gitignore | 1 + + base/threading/thread_restrictions.h | 5 + + .../sandbox_internals/sandbox_internals.ts | 4 + + .../ui/webui/sandbox/sandbox_internals_ui.cc | 6 +- + content/browser/child_process_host_impl.cc | 8 +- + .../zygote_host/zygote_host_impl_linux.cc | 39 +- + .../zygote_host/zygote_host_impl_linux.h | 1 + + content/zygote/zygote_linux.cc | 6 +- + content/zygote/zygote_linux.h | 2 + + content/zygote/zygote_main_linux.cc | 16 +- + sandbox/linux/BUILD.gn | 10 +- + sandbox/linux/services/flatpak_pid_map.cc | 57 ++ + sandbox/linux/services/flatpak_pid_map.h | 46 ++ + sandbox/linux/services/flatpak_sandbox.cc | 576 ++++++++++++++++++ + sandbox/linux/services/flatpak_sandbox.h | 118 ++++ + sandbox/policy/BUILD.gn | 3 + + sandbox/policy/linux/sandbox_linux.cc | 8 + + sandbox/policy/linux/sandbox_linux.h | 8 + + .../service_process_launcher.cc | 12 +- + 19 files changed, 907 insertions(+), 19 deletions(-) + create mode 100644 sandbox/linux/services/flatpak_pid_map.cc + create mode 100644 sandbox/linux/services/flatpak_pid_map.h + create mode 100644 sandbox/linux/services/flatpak_sandbox.cc + create mode 100644 sandbox/linux/services/flatpak_sandbox.h + +diff --git a/.gitignore b/.gitignore +index 22985d0edf211..62631942103f0 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -79,6 +79,7 @@ vs-chromium-project.txt + /.android_emulator/ + /.clangd/ + /.clangd-index/ ++/.flatpak-builder/ + # Settings directories for eclipse + /.externalToolBuilders/ + /.settings/ +diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h +index 7739b7379ba67..01d99a3ac5772 100644 +--- a/base/threading/thread_restrictions.h ++++ b/base/threading/thread_restrictions.h +@@ -410,6 +410,9 @@ class ScopedAllowThreadJoinForWebRtcTransport; + namespace rlz_lib { + class FinancialPing; + } ++namespace sandbox { ++class FlatpakSandbox; ++} + namespace service_manager { + class ServiceProcessLauncher; + } +@@ -641,6 +644,7 @@ class BASE_EXPORT ScopedAllowBlocking { + friend class remoting:: + ScopedBypassIOThreadRestrictions; // http://crbug.com/1144161 + friend class remoting::ScopedAllowBlockingForCrashReporting; ++ friend class sandbox::FlatpakSandbox; + friend class ui::DrmDisplayHostManager; + friend class ui::ScopedAllowBlockingForGbmSurface; + friend class ui::SelectFileDialogLinux; +@@ -780,6 +784,7 @@ class BASE_EXPORT ScopedAllowBaseSyncPrimitives { + friend class rlz_lib::FinancialPing; + friend class shell_integration_linux:: + LaunchXdgUtilityScopedAllowBaseSyncPrimitives; ++ friend class sandbox::FlatpakSandbox; + friend class storage::ObfuscatedFileUtil; + friend class syncer::HttpBridge; + friend class syncer::GetLocalChangesRequest; +diff --git a/chrome/browser/resources/sandbox_internals/sandbox_internals.ts b/chrome/browser/resources/sandbox_internals/sandbox_internals.ts +index 1d2c06f540674..9946482709bbf 100644 +--- a/chrome/browser/resources/sandbox_internals/sandbox_internals.ts ++++ b/chrome/browser/resources/sandbox_internals/sandbox_internals.ts +@@ -140,6 +140,7 @@ function addGoodBadRow(name: string, result: boolean): HTMLElement { + function linuxHandler() { + const suidSandbox = loadTimeData.getBoolean('suid'); + const nsSandbox = loadTimeData.getBoolean('userNs'); ++ const flatpakSandbox = loadTimeData.getBoolean('flatpak'); + + let layer1SandboxType = 'None'; + let layer1SandboxCssClass = StatusClass.BAD; +@@ -149,6 +150,9 @@ function linuxHandler() { + } else if (nsSandbox) { + layer1SandboxType = 'Namespace'; + layer1SandboxCssClass = StatusClass.GOOD; ++ } else if (flatpakSandbox) { ++ layer1SandboxType = 'Flatpak'; ++ layer1SandboxCssClass = StatusClass.GOOD; + } + + addStatusRow('Layer 1 Sandbox', layer1SandboxType, layer1SandboxCssClass); +diff --git a/chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc b/chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc +index 1174a704b8126..e7fd738b705fb 100644 +--- a/chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc ++++ b/chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc +@@ -15,6 +15,7 @@ + #include "content/public/browser/web_contents.h" + #include "content/public/browser/web_ui.h" + #include "content/public/browser/web_ui_data_source.h" ++#include "sandbox/policy/linux/sandbox_linux.h" + #include "services/network/public/mojom/content_security_policy.mojom.h" + + #if BUILDFLAG(IS_WIN) +@@ -41,6 +42,8 @@ static void SetSandboxStatusData(content::WebUIDataSource* source) { + + source->AddBoolean("suid", status & sandbox::policy::SandboxLinux::kSUID); + source->AddBoolean("userNs", status & sandbox::policy::SandboxLinux::kUserNS); ++ source->AddBoolean("flatpak", ++ status & sandbox::policy::SandboxLinux::kFlatpak); + source->AddBoolean("pidNs", status & sandbox::policy::SandboxLinux::kPIDNS); + source->AddBoolean("netNs", status & sandbox::policy::SandboxLinux::kNetNS); + source->AddBoolean("seccompBpf", +@@ -58,7 +61,8 @@ static void SetSandboxStatusData(content::WebUIDataSource* source) { + + // Require either the setuid or namespace sandbox for our first-layer sandbox. + bool good_layer1 = (status & sandbox::policy::SandboxLinux::kSUID || +- status & sandbox::policy::SandboxLinux::kUserNS) && ++ status & sandbox::policy::SandboxLinux::kUserNS || ++ status & sandbox::policy::SandboxLinux::kFlatpak) && + status & sandbox::policy::SandboxLinux::kPIDNS && + status & sandbox::policy::SandboxLinux::kNetNS; + // A second-layer sandbox is also required to be adequately sandboxed. +diff --git a/content/browser/child_process_host_impl.cc b/content/browser/child_process_host_impl.cc +index 685af654e0832..cb2d7fb0966d1 100644 +--- a/content/browser/child_process_host_impl.cc ++++ b/content/browser/child_process_host_impl.cc +@@ -37,6 +37,7 @@ + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #include "base/linux_util.h" ++#include "sandbox/linux/services/flatpak_sandbox.h" + #elif BUILDFLAG(IS_MAC) + #include "base/apple/foundation_util.h" + #include "content/browser/mac_helpers.h" +@@ -62,7 +63,12 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + // Use /proc/self/exe rather than our known binary path so updates + // can't swap out the binary from underneath us. +- if (child_path.empty() && flags & CHILD_ALLOW_SELF) { ++ // This is not needed for Flatpaks, where updates are going to be in ++ // a new hardlink tree. ++ if ((child_path.empty() && ++ sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() == ++ sandbox::FlatpakSandbox::SandboxLevel::kNone) && ++ flags & CHILD_ALLOW_SELF) { + child_path = base::FilePath(base::kProcSelfExe); + } + #endif +diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc +index 5707dd93fd5e9..c87e1248171cf 100644 +--- a/content/browser/zygote_host/zygote_host_impl_linux.cc ++++ b/content/browser/zygote_host/zygote_host_impl_linux.cc +@@ -13,6 +13,7 @@ + #include "base/logging.h" + #include "base/posix/unix_domain_socket.h" + #include "base/process/kill.h" ++#include "base/process/launch.h" + #include "base/process/memory.h" + #include "base/strings/string_number_conversions.h" + #include "base/types/fixed_array.h" +@@ -22,6 +23,7 @@ + #include "content/common/zygote/zygote_handle_impl_linux.h" + #include "content/public/common/zygote/zygote_handle.h" + #include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/flatpak_sandbox.h" + #include "sandbox/linux/services/namespace_sandbox.h" + #include "sandbox/linux/suid/client/setuid_sandbox_host.h" + #include "sandbox/linux/suid/common/sandbox.h" +@@ -72,6 +74,7 @@ ZygoteHostImpl::ZygoteHostImpl() + : use_namespace_sandbox_(false), + use_suid_sandbox_(false), + use_suid_sandbox_for_adj_oom_score_(false), ++ use_flatpak_sandbox_(false), + sandbox_binary_(), + zygote_pids_lock_(), + zygote_pids_() {} +@@ -110,9 +113,12 @@ void ZygoteHostImpl::Init(const base::CommandLine& command_line) { + sandbox_binary_ = setuid_sandbox_host->GetSandboxBinaryPath().value(); + } + +- if (!command_line.HasSwitch( +- sandbox::policy::switches::kDisableNamespaceSandbox) && +- sandbox::Credentials::CanCreateProcessInNewUserNS()) { ++ if (sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() != ++ sandbox::FlatpakSandbox::SandboxLevel::kNone) { ++ use_flatpak_sandbox_ = true; ++ } else if (!command_line.HasSwitch( ++ sandbox::policy::switches::kDisableNamespaceSandbox) && ++ sandbox::Credentials::CanCreateProcessInNewUserNS()) { + use_namespace_sandbox_ = true; + } else if (!command_line.HasSwitch( + sandbox::policy::switches::kDisableSetuidSandbox) && +@@ -183,10 +189,16 @@ pid_t ZygoteHostImpl::LaunchZygote( + sandbox_host->SetupLaunchEnvironment(); + } + +- base::Process process = +- (is_sandboxed_zygote && use_namespace_sandbox_) +- ? sandbox::NamespaceSandbox::LaunchProcess(*cmd_line, options) +- : base::LaunchProcess(*cmd_line, options); ++ base::Process process; ++ if (is_sandboxed_zygote && use_namespace_sandbox_) { ++ process = sandbox::NamespaceSandbox::LaunchProcess(*cmd_line, options); ++ } else if (is_sandboxed_zygote && use_flatpak_sandbox_) { ++ process = sandbox::FlatpakSandbox::GetInstance()->LaunchProcess(*cmd_line, ++ options); ++ } else { ++ process = base::LaunchProcess(*cmd_line, options); ++ } ++ + CHECK(process.IsValid()) << "Failed to launch zygote process"; + + dummy_fd.reset(); +@@ -195,7 +207,8 @@ pid_t ZygoteHostImpl::LaunchZygote( + + pid_t pid = process.Pid(); + +- if (is_sandboxed_zygote && (use_namespace_sandbox_ || use_suid_sandbox_)) { ++ if (is_sandboxed_zygote && ++ (use_namespace_sandbox_ || use_suid_sandbox_ || use_flatpak_sandbox_)) { + // The namespace and SUID sandbox will execute the zygote in a new + // PID namespace, and the main zygote process will then fork from + // there. Watch now our elaborate dance to find and validate the +@@ -223,7 +236,11 @@ pid_t ZygoteHostImpl::LaunchZygote( + + if (real_pid != pid) { + // Reap the sandbox. +- base::EnsureProcessGetsReaped(std::move(process)); ++ if (use_flatpak_sandbox_) { ++ sandbox::FlatpakSandbox::GetInstance()->IgnoreExitStatus(pid); ++ } else { ++ base::EnsureProcessGetsReaped(base::Process(pid)); ++ } + } + pid = real_pid; + } +@@ -274,6 +291,10 @@ void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid, + selinux_valid = true; + } + ++ // Flatpaks cannot modify their OOM score. ++ if (use_flatpak_sandbox_) ++ return; ++ + if (!use_suid_sandbox_for_adj_oom_score_) { + if (!base::AdjustOOMScore(pid, score)) + PLOG(ERROR) << "Failed to adjust OOM score of renderer with pid " << pid; +diff --git a/content/browser/zygote_host/zygote_host_impl_linux.h b/content/browser/zygote_host/zygote_host_impl_linux.h +index 8ef884a7db6f4..f441900dd6343 100644 +--- a/content/browser/zygote_host/zygote_host_impl_linux.h ++++ b/content/browser/zygote_host/zygote_host_impl_linux.h +@@ -69,6 +69,7 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHost { + bool use_namespace_sandbox_; + bool use_suid_sandbox_; + bool use_suid_sandbox_for_adj_oom_score_; ++ bool use_flatpak_sandbox_; + std::string sandbox_binary_; + + // This lock protects the |zygote_pids_| set. +diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc +index c90abfaf2e346..5b9cb3e1bd313 100644 +--- a/content/zygote/zygote_linux.cc ++++ b/content/zygote/zygote_linux.cc +@@ -122,7 +122,7 @@ bool Zygote::ProcessRequests() { + PCHECK(sigaddset(&sigset, SIGCHLD) == 0); + PCHECK(sigprocmask(SIG_BLOCK, &sigset, &orig_sigmask) == 0); + +- if (UsingSUIDSandbox() || UsingNSSandbox()) { ++ if (UsingSUIDSandbox() || UsingNSSandbox() || UsingFlatpakSandbox()) { + // Let the ZygoteHost know we are ready to go. + // The receiving code is in + // content/browser/zygote_host/zygote_host_impl_linux.cc. +@@ -227,6 +227,10 @@ bool Zygote::UsingNSSandbox() const { + return sandbox_flags_ & sandbox::policy::SandboxLinux::kUserNS; + } + ++bool Zygote::UsingFlatpakSandbox() const { ++ return sandbox_flags_ & sandbox::policy::SandboxLinux::kFlatpak; ++} ++ + bool Zygote::HandleRequestFromBrowser(int fd) { + std::vector fds; + uint8_t buf[kZygoteMaxMessageLength]; +diff --git a/content/zygote/zygote_linux.h b/content/zygote/zygote_linux.h +index 165b758efc899..961afa73f66f5 100644 +--- a/content/zygote/zygote_linux.h ++++ b/content/zygote/zygote_linux.h +@@ -64,6 +64,8 @@ class Zygote { + bool UsingSUIDSandbox() const; + // Returns true if the NS sandbox is active. + bool UsingNSSandbox() const; ++ // Returns true if the Flatpak sandbox is active. ++ bool UsingFlatpakSandbox() const; + + // --------------------------------------------------------------------------- + // Requests from the browser... +diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc +index c7ee91878e6dd..9c2c7a04bd968 100644 +--- a/content/zygote/zygote_main_linux.cc ++++ b/content/zygote/zygote_main_linux.cc +@@ -35,6 +35,7 @@ + #include "content/public/common/zygote/zygote_fork_delegate_linux.h" + #include "content/zygote/zygote_linux.h" + #include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/flatpak_sandbox.h" + #include "sandbox/linux/services/init_process_reaper.h" + #include "sandbox/linux/services/libc_interceptor.h" + #include "sandbox/linux/services/namespace_sandbox.h" +@@ -135,6 +136,7 @@ static void EnterNamespaceSandbox(sandbox::policy::SandboxLinux* linux_sandbox, + + static void EnterLayerOneSandbox(sandbox::policy::SandboxLinux* linux_sandbox, + const bool using_layer1_sandbox, ++ const bool using_flatpak_sandbox, + base::OnceClosure post_fork_parent_callback) { + DCHECK(linux_sandbox); + +@@ -154,7 +156,8 @@ static void EnterLayerOneSandbox(sandbox::policy::SandboxLinux* linux_sandbox, + } else if (sandbox::NamespaceSandbox::InNewUserNamespace()) { + EnterNamespaceSandbox(linux_sandbox, std::move(post_fork_parent_callback)); + } else { +- CHECK(!using_layer1_sandbox); ++ // The Flatpak sandbox means that we're fully sandboxed from the start. ++ CHECK(!using_layer1_sandbox || using_flatpak_sandbox); + } + } + +@@ -178,8 +181,11 @@ bool ZygoteMain( + linux_sandbox->setuid_sandbox_client()->IsSuidSandboxChild(); + const bool using_namespace_sandbox = + sandbox::NamespaceSandbox::InNewUserNamespace(); ++ const bool using_flatpak_sandbox = ++ sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() == ++ sandbox::FlatpakSandbox::SandboxLevel::kRestricted; + const bool using_layer1_sandbox = +- using_setuid_sandbox || using_namespace_sandbox; ++ using_setuid_sandbox || using_namespace_sandbox || using_flatpak_sandbox; + + if (using_setuid_sandbox) { + linux_sandbox->setuid_sandbox_client()->CloseDummyFile(); +@@ -206,7 +212,7 @@ bool ZygoteMain( + + // Turn on the first layer of the sandbox if the configuration warrants it. + EnterLayerOneSandbox( +- linux_sandbox, using_layer1_sandbox, ++ linux_sandbox, using_layer1_sandbox, using_flatpak_sandbox, + base::BindOnce(CloseFds, linux_sandbox->GetFileDescriptorsToClose())); + + const int sandbox_flags = linux_sandbox->GetStatus(); +@@ -218,6 +224,10 @@ bool ZygoteMain( + !!(sandbox_flags & sandbox::policy::SandboxLinux::kUserNS); + CHECK_EQ(using_namespace_sandbox, namespace_sandbox_engaged); + ++ const bool flatpak_sandbox_engaged = ++ !!(sandbox_flags & sandbox::policy::SandboxLinux::kFlatpak); ++ CHECK_EQ(using_flatpak_sandbox, flatpak_sandbox_engaged); ++ + Zygote zygote(sandbox_flags, std::move(fork_delegates), + base::GlobalDescriptors::Descriptor( + static_cast(kSandboxIPCChannel), GetSandboxFD())); +diff --git a/sandbox/linux/BUILD.gn b/sandbox/linux/BUILD.gn +index 478194aaf43a8..c97710907565e 100644 +--- a/sandbox/linux/BUILD.gn ++++ b/sandbox/linux/BUILD.gn +@@ -303,6 +303,10 @@ if (is_linux || is_chromeos) { + + component("sandbox_services") { + sources = [ ++ "services/flatpak_pid_map.cc", ++ "services/flatpak_pid_map.h", ++ "services/flatpak_sandbox.cc", ++ "services/flatpak_sandbox.h", + "services/init_process_reaper.cc", + "services/init_process_reaper.h", + "services/proc_util.cc", +@@ -321,8 +325,10 @@ component("sandbox_services") { + + defines = [ "SANDBOX_IMPLEMENTATION" ] + +- public_deps = [ "//sandbox:sandbox_export" ] +- deps = [ "//base" ] ++ public_deps = [ ++ "//dbus", ++ "//sandbox:sandbox_export", ++ ] + + if (compile_credentials) { + sources += [ +diff --git a/sandbox/linux/services/flatpak_pid_map.cc b/sandbox/linux/services/flatpak_pid_map.cc +new file mode 100644 +index 0000000000000..58b2ab552385b +--- /dev/null ++++ b/sandbox/linux/services/flatpak_pid_map.cc +@@ -0,0 +1,57 @@ ++// Copyright 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "sandbox/linux/services/flatpak_pid_map.h" ++ ++namespace sandbox { ++ ++bool FlatpakPidMap::Insert(PidPair pair) { ++ if (external_to_relative_.contains(pair.external) || ++ relative_to_external_.contains(pair.relative)) { ++ return false; ++ } ++ ++ external_to_relative_[pair.external] = pair.relative; ++ relative_to_external_[pair.relative] = pair.external; ++ return true; ++} ++ ++absl::optional FlatpakPidMap::FindRelativeByExternal(pid_t external) { ++ return FindImpl(&external_to_relative_, external); ++} ++ ++absl::optional FlatpakPidMap::FindExternalByRelative(pid_t relative) { ++ return FindImpl(&relative_to_external_, relative); ++} ++ ++absl::optional FlatpakPidMap::DeleteByExternal(pid_t external) { ++ return DeleteImpl(&external_to_relative_, &relative_to_external_, external); ++} ++ ++absl::optional FlatpakPidMap::DeleteByRelative(pid_t relative) { ++ return DeleteImpl(&relative_to_external_, &external_to_relative_, relative); ++} ++ ++absl::optional FlatpakPidMap::FindImpl(base::flat_map* map, ++ pid_t key) { ++ auto it = map->find(key); ++ return it != map->end() ? it->second : absl::optional(); ++} ++ ++absl::optional FlatpakPidMap::DeleteImpl( ++ base::flat_map* map, ++ base::flat_map* reversed, ++ pid_t key) { ++ auto it = map->find(key); ++ if (it == map->end()) { ++ return absl::optional(); ++ } ++ ++ pid_t value = it->second; ++ reversed->erase(value); ++ map->erase(it); ++ return value; ++} ++ ++} // namespace sandbox +diff --git a/sandbox/linux/services/flatpak_pid_map.h b/sandbox/linux/services/flatpak_pid_map.h +new file mode 100644 +index 0000000000000..22799eb42f782 +--- /dev/null ++++ b/sandbox/linux/services/flatpak_pid_map.h +@@ -0,0 +1,46 @@ ++// Copyright 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SANDBOX_LINUX_SERVICES_FLATPAK_PID_MAP_H_ ++#define SANDBOX_LINUX_SERVICES_FLATPAK_PID_MAP_H_ ++ ++#include "base/containers/flat_map.h" ++#include "third_party/abseil-cpp/absl/types/optional.h" ++ ++namespace sandbox { ++ ++// A bidirectional map of external PIDs and relative PIDs for the Flatpak ++// sandbox. "External" PIDs are the PID values that Flatpak's Spawn API returns, ++// relative to the host system, and "relative" PIDs are the PIDs those processes ++// are known by from inside the sandbox. ++class FlatpakPidMap { ++ public: ++ struct PidPair { ++ pid_t external; ++ pid_t relative; ++ }; ++ ++ FlatpakPidMap() = default; ++ ++ bool Insert(PidPair pair); ++ ++ absl::optional FindRelativeByExternal(pid_t external); ++ absl::optional FindExternalByRelative(pid_t relative); ++ ++ absl::optional DeleteByRelative(pid_t relative); ++ absl::optional DeleteByExternal(pid_t external); ++ ++ private: ++ absl::optional FindImpl(base::flat_map* map, pid_t key); ++ absl::optional DeleteImpl(base::flat_map* map, ++ base::flat_map* reversed, ++ pid_t key); ++ ++ base::flat_map external_to_relative_; ++ base::flat_map relative_to_external_; ++}; // namespace sandbox ++ ++} // namespace sandbox ++ ++#endif +diff --git a/sandbox/linux/services/flatpak_sandbox.cc b/sandbox/linux/services/flatpak_sandbox.cc +new file mode 100644 +index 0000000000000..c854f32b185a3 +--- /dev/null ++++ b/sandbox/linux/services/flatpak_sandbox.cc +@@ -0,0 +1,576 @@ ++// Copyright 2019 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "sandbox/linux/services/flatpak_sandbox.h" ++ ++#include ++#include ++#include ++ ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/functional/bind.h" ++#include "base/logging.h" ++#include "base/process/process_handle.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/strings/string_util.h" ++#include "base/synchronization/lock.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_restrictions.h" ++#include "dbus/bus.h" ++#include "dbus/message.h" ++#include "dbus/object_path.h" ++#include "dbus/object_proxy.h" ++#include "dbus/property.h" ++#include "sandbox/linux/services/flatpak_pid_map.h" ++ ++namespace sandbox { ++ ++namespace { ++const base::FilePath kFlatpakAppPath("/app"); ++const base::FilePath kFlatpakInfoPath("/.flatpak-info"); ++ ++const char kFlatpakPortalServiceName[] = "org.freedesktop.portal.Flatpak"; ++const char kFlatpakPortalObjectPath[] = "/org/freedesktop/portal/Flatpak"; ++const char kFlatpakPortalInterfaceName[] = "org.freedesktop.portal.Flatpak"; ++ ++#ifndef NDEBUG ++const char kDisableFullFlatpakSandbox[] = "disable-full-flatpak-sandbox"; ++#endif ++ ++struct PortalProperties : dbus::PropertySet { ++ dbus::Property version; ++ dbus::Property supports; ++ ++ enum FlatpakPortalSupports { ++ kFlatpakPortal_ExposePids = 1 << 0, ++ }; ++ ++ explicit PortalProperties(dbus::ObjectProxy* object_proxy) ++ : dbus::PropertySet(object_proxy, kFlatpakPortalInterfaceName, {}) { ++ RegisterProperty("version", &version); ++ RegisterProperty("supports", &supports); ++ } ++ ++ ~PortalProperties() override = default; ++}; ++ ++void WriteStringAsByteArray(dbus::MessageWriter* writer, ++ const std::string& str) { ++ writer->AppendArrayOfBytes(base::span( ++ reinterpret_cast(str.c_str()), str.size() + 1)); ++} ++ ++void WriteFdPairMap(dbus::MessageWriter* writer, int source_fd, int dest_fd) { ++ dbus::MessageWriter entry_writer(nullptr); ++ writer->OpenDictEntry(&entry_writer); ++ ++ entry_writer.AppendUint32(dest_fd); ++ entry_writer.AppendFileDescriptor(source_fd); ++ ++ writer->CloseContainer(&entry_writer); ++} ++ ++} // namespace ++ ++enum FlatpakSpawnFlags { ++ kFlatpakSpawn_ClearEnvironment = 1 << 0, ++ kFlatpakSpawn_Latest = 1 << 1, ++ kFlatpakSpawn_Sandbox = 1 << 2, ++ kFlatpakSpawn_NoNetwork = 1 << 3, ++ kFlatpakSpawn_WatchBus = 1 << 4, ++ kFlatpakSpawn_ExposePids = 1 << 5, ++ kFlatpakSpawn_NotifyStart = 1 << 6, ++}; ++ ++enum FlatpakSpawnSandboxFlags { ++ kFlatpakSpawnSandbox_ShareDisplay = 1 << 0, ++ kFlatpakSpawnSandbox_ShareSound = 1 << 1, ++ kFlatpakSpawnSandbox_ShareGpu = 1 << 2, ++ kFlatpakSpawnSandbox_ShareSessionBus = 1 << 3, ++ kFlatpakSpawnSandbox_ShareA11yBus = 1 << 4, ++}; ++ ++FlatpakSandbox::FlatpakSandbox() ++ : bus_thread_("FlatpakPortalBus"), process_info_cv_(&process_info_lock_) {} ++ ++// static ++FlatpakSandbox* FlatpakSandbox::GetInstance() { ++ static base::NoDestructor instance; ++ return instance.get(); ++} ++ ++FlatpakSandbox::SandboxLevel FlatpakSandbox::GetSandboxLevel() { ++ if (sandbox_level_) { ++ return *sandbox_level_; ++ } ++ ++ // XXX: These operations shouldn't actually have a major blocking time, ++ // as .flatpak-info is on a tmpfs. ++ base::ScopedAllowBlocking scoped_allow_blocking; ++ ++ if (!base::PathExists(kFlatpakInfoPath)) { ++ sandbox_level_ = SandboxLevel::kNone; ++ } else { ++ // chrome has an INI parser, but sandbox can't depend on anything inside ++ // chrome, so the .flatpak-info INI is manually checked for the sandbox ++ // option. ++ ++ std::string contents; ++ CHECK(ReadFileToString(kFlatpakInfoPath, &contents)); ++ DCHECK(!contents.empty()); ++ ++ std::istringstream iss(contents); ++ std::string line; ++ bool in_instance = false; ++ while (std::getline(iss, line)) { ++ if (!line.empty() && line[0] == '[') { ++ DCHECK(line.back() == ']'); ++ ++ if (line == "[Instance]") { ++ DCHECK(!in_instance); ++ in_instance = true; ++ } else if (in_instance) { ++ // Leaving the Instance section, sandbox=true can't come now. ++ break; ++ } ++ } else if (in_instance && line == "sandbox=true") { ++ sandbox_level_ = SandboxLevel::kRestricted; ++ break; ++ } ++ } ++ ++ if (!sandbox_level_) { ++ sandbox_level_ = SandboxLevel::kFlatpak; ++ } ++ } ++ ++#ifndef NDEBUG ++ if (sandbox_level_ == SandboxLevel::kFlatpak && ++ base::CommandLine::ForCurrentProcess()->HasSwitch( ++ kDisableFullFlatpakSandbox)) { ++ sandbox_level_ = SandboxLevel::kRestricted; ++ } ++#endif ++ ++ return *sandbox_level_; ++} ++ ++bool FlatpakSandbox::IsPidSandboxed(base::ProcessId relative_pid) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ return running_processes_.FindExternalByRelative(relative_pid).has_value(); ++} ++ ++base::Process FlatpakSandbox::LaunchProcess( ++ const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options) { ++ base::ProcessId external_pid = Spawn(cmdline, launch_options); ++ if (external_pid == base::kNullProcessId) { ++ return base::Process(); ++ } ++ ++ base::ProcessId relative_pid = GetRelativePid(external_pid); ++ if (relative_pid == base::kNullProcessId) { ++ // Treat early stops as a launch failure. ++ return base::Process(); ++ } ++ ++ return base::Process(relative_pid); ++} ++ ++bool FlatpakSandbox::Wait(base::ProcessId relative_pid, int* exit_code) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ for (;;) { ++ if (running_processes_.FindExternalByRelative(relative_pid)) { ++ // Process is still running. ++ process_info_cv_.Wait(); ++ continue; ++ } ++ ++ auto it = exited_process_statuses_.find(relative_pid); ++ if (it == exited_process_statuses_.end()) { ++ // This should only happen if another caller had marked the exit status ++ // to be ignored. Treat it like waitpid returning ESRCH. ++ LOG(ERROR) << "PID " << relative_pid << " had no exit status"; ++ return false; ++ } ++ ++ if (exit_code) { ++ *exit_code = it->second; ++ } ++ exited_process_statuses_.erase(it); ++ return true; ++ } ++} ++ ++void FlatpakSandbox::IgnoreExitStatus(base::ProcessId relative_pid) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ CHECK(running_processes_.FindExternalByRelative(relative_pid)); ++ ignore_status_.insert(relative_pid); ++} ++ ++void FlatpakSandbox::StartBusThread() { ++ if (!bus_thread_.IsRunning()) { ++ base::Thread::Options options; ++ options.message_pump_type = base::MessagePumpType::IO; ++ CHECK(bus_thread_.StartWithOptions(std::move(options))); ++ ++ bus_thread_.task_runner()->PostTask( ++ FROM_HERE, base::BindOnce(&FlatpakSandbox::InitializeBusThread, ++ base::Unretained(this))); ++ } ++} ++ ++dbus::Bus* FlatpakSandbox::AcquireBusFromBusThread() { ++ // Note that destruction of the bus is not a concern, because once the ++ // thread dies its bus connection will be terminated anyway and the ++ // portal will notice. ++ static base::NoDestructor> bus([] { ++ dbus::Bus::Options options; ++ options.bus_type = dbus::Bus::SESSION; ++ options.connection_type = dbus::Bus::PRIVATE; ++ options.dbus_task_runner = base::SequencedTaskRunner::GetCurrentDefault(); ++ ++ return base::MakeRefCounted(std::move(options)); ++ }()); ++ ++ return bus->get(); ++} ++ ++dbus::ObjectProxy* FlatpakSandbox::GetPortalObjectProxy() { ++ return AcquireBusFromBusThread()->GetObjectProxy( ++ kFlatpakPortalServiceName, dbus::ObjectPath(kFlatpakPortalObjectPath)); ++} ++ ++void FlatpakSandbox::InitializeBusThread() { ++ dbus::ObjectProxy* object_proxy = GetPortalObjectProxy(); ++ ++ PortalProperties properties(object_proxy); ++ properties.ConnectSignals(); ++ ++ CHECK(properties.GetAndBlock(&properties.version)) ++ << "Failed to get portal version"; ++ CHECK(properties.GetAndBlock(&properties.supports)) ++ << "Failed to get portal supports"; ++ ++ if (properties.version.value() < 4) { ++ LOG(FATAL) << "Your Flatpak version is too old, please update it"; ++ } ++ ++ if (!(properties.supports.value() & ++ PortalProperties::kFlatpakPortal_ExposePids)) { ++ LOG(FATAL) << "Your Flatpak installation is setuid, which is not supported"; ++ } ++ ++ object_proxy->ConnectToSignal( ++ kFlatpakPortalInterfaceName, "SpawnStarted", ++ base::BindRepeating(&FlatpakSandbox::OnSpawnStartedSignal, ++ base::Unretained(this)), ++ base::BindOnce(&FlatpakSandbox::OnSignalConnected, ++ base::Unretained(this))); ++ ++ object_proxy->ConnectToSignal( ++ kFlatpakPortalInterfaceName, "SpawnExited", ++ base::BindRepeating(&FlatpakSandbox::OnSpawnExitedSignal, ++ base::Unretained(this)), ++ base::BindOnce(&FlatpakSandbox::OnSignalConnected, ++ base::Unretained(this))); ++} ++ ++void FlatpakSandbox::OnSignalConnected(const std::string& interface, ++ const std::string& signal, ++ bool connected) { ++ // It's not safe to spawn processes without being able to track their deaths. ++ CHECK(connected) << "Failed to connect to signal " << signal; ++} ++ ++void FlatpakSandbox::OnSpawnStartedSignal(dbus::Signal* signal) { ++ dbus::MessageReader reader(signal); ++ uint32_t external_pid, relative_pid; ++ ++ if (!reader.PopUint32(&external_pid) || !reader.PopUint32(&relative_pid)) { ++ LOG(ERROR) << "Invalid SpawnStarted signal"; ++ return; ++ } ++ ++ VLOG(1) << "Received SpawnStarted: " << external_pid << ' ' << relative_pid; ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ auto it = unmapped_processes_.find(external_pid); ++ if (it == unmapped_processes_.end()) { ++ LOG(ERROR) << "Process " << external_pid ++ << " is already dead or not tracked"; ++ return; ++ } ++ ++ unmapped_processes_.erase(it); ++ ++ // Don't try to map them if the process died too quickly (which is the cause ++ // of relative_pid == 0). ++ if (relative_pid != 0) { ++ FlatpakPidMap::PidPair pair; ++ pair.external = external_pid; ++ pair.relative = relative_pid; ++ running_processes_.Insert(pair); ++ } ++ ++ process_info_cv_.Broadcast(); ++} ++ ++void FlatpakSandbox::OnSpawnExitedSignal(dbus::Signal* signal) { ++ dbus::MessageReader reader(signal); ++ uint32_t external_pid, exit_status; ++ ++ if (!reader.PopUint32(&external_pid) || !reader.PopUint32(&exit_status)) { ++ LOG(ERROR) << "Invalid SpawnExited signal"; ++ return; ++ } ++ ++ VLOG(1) << "Received SpawnExited: " << external_pid << ' ' << exit_status; ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ auto relative_pid = running_processes_.DeleteByExternal(external_pid); ++ // If this isn't found, it likely never ran long enough for SpawnStarted to be ++ // emitted, so we never bother saving the exit status. ++ if (relative_pid) { ++ auto ignore_it = ignore_status_.find(*relative_pid); ++ if (ignore_it != ignore_status_.end()) { ++ // Make sure the exit status is not set. ++ relative_pid.reset(); ++ ignore_status_.erase(ignore_it); ++ } ++ } ++ ++ if (relative_pid) { ++ exited_process_statuses_[*relative_pid] = exit_status; ++ } ++ ++ process_info_cv_.Broadcast(); ++} ++ ++base::ProcessId FlatpakSandbox::Spawn( ++ const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ base::ScopedAllowBaseSyncPrimitives allow_wait; ++ ++ StartBusThread(); ++ ++ VLOG(1) << "Running via Flatpak: " << cmdline.GetCommandLineString(); ++ ++ DCHECK(GetSandboxLevel() != SandboxLevel::kNone); ++ ++ // These options are not supported with the Flatpak sandbox. ++ DCHECK(launch_options.clone_flags == 0); ++ DCHECK(!launch_options.wait); ++ DCHECK(!launch_options.allow_new_privs); ++ DCHECK(launch_options.real_path.empty()); ++ DCHECK(launch_options.pre_exec_delegate == nullptr); ++ DCHECK(launch_options.maximize_rlimits == nullptr); ++ ++ base::ProcessId external_pid = base::kNullProcessId; ++ base::WaitableEvent event; ++ ++ bus_thread_.task_runner()->PostTask( ++ FROM_HERE, ++ base::BindOnce(&FlatpakSandbox::SpawnOnBusThread, base::Unretained(this), ++ base::Unretained(&external_pid), base::Unretained(&event), ++ cmdline, launch_options)); ++ event.Wait(); ++ ++ return external_pid; ++} ++ ++void FlatpakSandbox::SpawnOnBusThread( ++ base::ProcessId* out_external_pid, ++ base::WaitableEvent* event, ++ const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options) { ++ dbus::ObjectProxy* object_proxy = GetPortalObjectProxy(); ++ dbus::MethodCall method_call(kFlatpakPortalInterfaceName, "Spawn"); ++ dbus::MessageWriter writer(&method_call); ++ ++ const base::FilePath& current_directory = ++ !launch_options.current_directory.empty() ++ ? launch_options.current_directory ++ // Change to /app since it's guaranteed to always be present in ++ // the sandbox. ++ : kFlatpakAppPath; ++ WriteStringAsByteArray(&writer, current_directory.value()); ++ ++ dbus::MessageWriter argv_writer(nullptr); ++ writer.OpenArray("ay", &argv_writer); ++ ++ for (const std::string& arg : cmdline.argv()) { ++ WriteStringAsByteArray(&argv_writer, arg); ++ } ++ ++#ifndef NDEBUG ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch( ++ kDisableFullFlatpakSandbox)) { ++ std::string arg = "--"; ++ arg += kDisableFullFlatpakSandbox; ++ WriteStringAsByteArray(&argv_writer, arg); ++ } ++#endif ++ ++ writer.CloseContainer(&argv_writer); ++ ++ dbus::MessageWriter fds_writer(nullptr); ++ writer.OpenArray("{uh}", &fds_writer); ++ ++ WriteFdPairMap(&fds_writer, STDIN_FILENO, STDIN_FILENO); ++ WriteFdPairMap(&fds_writer, STDOUT_FILENO, STDOUT_FILENO); ++ WriteFdPairMap(&fds_writer, STDERR_FILENO, STDERR_FILENO); ++ ++ for (const auto& pair : launch_options.fds_to_remap) { ++ WriteFdPairMap(&fds_writer, pair.first, pair.second); ++ } ++ ++ writer.CloseContainer(&fds_writer); ++ ++ dbus::MessageWriter env_writer(nullptr); ++ writer.OpenArray("{ss}", &env_writer); ++ ++ for (const auto& pair : launch_options.environment) { ++ dbus::MessageWriter entry_writer(nullptr); ++ env_writer.OpenDictEntry(&entry_writer); ++ ++ entry_writer.AppendString(pair.first); ++ entry_writer.AppendString(pair.second); ++ ++ env_writer.CloseContainer(&entry_writer); ++ } ++ ++ writer.CloseContainer(&env_writer); ++ ++ int spawn_flags = kFlatpakSpawn_Sandbox | kFlatpakSpawn_ExposePids | ++ kFlatpakSpawn_NotifyStart; ++ int sandbox_flags = 0; ++ ++#ifndef NDEBUG ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch( ++ kDisableFullFlatpakSandbox)) { ++ spawn_flags &= ~kFlatpakSpawn_Sandbox; ++ } ++#else ++#endif ++ ++ if (launch_options.clear_environment) { ++ spawn_flags |= kFlatpakSpawn_ClearEnvironment; ++ } ++ ++ if (launch_options.kill_on_parent_death) { ++ spawn_flags |= kFlatpakSpawn_WatchBus; ++ } ++ ++ writer.AppendUint32(spawn_flags); ++ ++ dbus::MessageWriter options_writer(nullptr); ++ writer.OpenArray("{sv}", &options_writer); ++ ++ if (sandbox_flags != 0) { ++ dbus::MessageWriter entry_writer(nullptr); ++ options_writer.OpenDictEntry(&entry_writer); ++ ++ entry_writer.AppendString("sandbox-flags"); ++ ++ dbus::MessageWriter variant_writer(nullptr); ++ entry_writer.OpenVariant("u", &variant_writer); ++ ++ variant_writer.AppendUint32(sandbox_flags); ++ ++ entry_writer.CloseContainer(&variant_writer); ++ options_writer.CloseContainer(&entry_writer); ++ } ++ ++ writer.CloseContainer(&options_writer); ++ ++ object_proxy->CallMethodWithErrorResponse( ++ &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, ++ base::BindOnce(&FlatpakSandbox::OnSpawnResponse, base::Unretained(this), ++ base::Unretained(out_external_pid), ++ base::Unretained(event))); ++} ++ ++void FlatpakSandbox::OnSpawnResponse(base::ProcessId* out_external_pid, ++ base::WaitableEvent* event, ++ dbus::Response* response, ++ dbus::ErrorResponse* error_response) { ++ if (response) { ++ dbus::MessageReader reader(response); ++ uint32_t external_pid; ++ if (!reader.PopUint32(&external_pid)) { ++ LOG(ERROR) << "Invalid Spawn() response"; ++ } else { ++ VLOG(1) << "Spawn() returned PID " << external_pid; ++ if (out_external_pid != nullptr) { ++ *out_external_pid = external_pid; ++ } ++ ++ base::AutoLock locker(process_info_lock_); ++ unmapped_processes_.insert(external_pid); ++ } ++ } else if (error_response) { ++ std::string error_name = error_response->GetErrorName(); ++ std::string error_message; ++ dbus::MessageReader reader(error_response); ++ reader.PopString(&error_message); ++ ++ LOG(ERROR) << "Error calling Spawn(): " << error_name << ": " ++ << error_message; ++ } else { ++ LOG(ERROR) << "Unknown error occurred calling Spawn()"; ++ } ++ ++ if (event != nullptr) { ++ event->Signal(); ++ } ++} ++ ++base::ProcessId FlatpakSandbox::GetRelativePid(base::ProcessId external_pid) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ base::ScopedAllowBaseSyncPrimitives allow_wait; ++ ++ base::AutoLock locker(process_info_lock_); ++ ++ for (;;) { ++ auto unmapped_it = unmapped_processes_.find(external_pid); ++ if (unmapped_it != unmapped_processes_.end()) { ++ // No relative PID is known yet. ++ VLOG(1) << "Waiting for " << external_pid; ++ process_info_cv_.Wait(); ++ continue; ++ } ++ ++ auto relative_pid = running_processes_.FindRelativeByExternal(external_pid); ++ if (!relative_pid) { ++ exited_process_statuses_.erase(external_pid); ++ ++ LOG(INFO) << "Already died: " << external_pid; ++ return base::kNullProcessId; ++ } ++ ++ VLOG(1) << "Got " << external_pid << " => " << *relative_pid; ++ return *relative_pid; ++ } ++} ++ ++} // namespace sandbox +diff --git a/sandbox/linux/services/flatpak_sandbox.h b/sandbox/linux/services/flatpak_sandbox.h +new file mode 100644 +index 0000000000000..167bbc85945ad +--- /dev/null ++++ b/sandbox/linux/services/flatpak_sandbox.h +@@ -0,0 +1,118 @@ ++// Copyright 2019 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SANDBOX_LINUX_SERVICES_FLATPAK_SANDBOX_H_ ++#define SANDBOX_LINUX_SERVICES_FLATPAK_SANDBOX_H_ ++ ++#include "base/command_line.h" ++#include "base/compiler_specific.h" ++#include "base/containers/flat_map.h" ++#include "base/containers/flat_set.h" ++#include "base/no_destructor.h" ++#include "base/process/kill.h" ++#include "base/process/launch.h" ++#include "base/process/process_handle.h" ++#include "base/synchronization/condition_variable.h" ++#include "base/synchronization/lock.h" ++#include "base/synchronization/waitable_event.h" ++#include "base/threading/thread.h" ++#include "dbus/bus.h" ++#include "dbus/message.h" ++#include "sandbox/linux/services/flatpak_pid_map.h" ++#include "sandbox/sandbox_export.h" ++#include "third_party/abseil-cpp/absl/types/optional.h" ++ ++namespace sandbox { ++ ++// Manages the state of and access to the Flatpak sandbox. ++// Note that there is a distinction between external and internal PIDs: ++// - External PIDs are the PIDs relative to the world outside the sandbox. ++// - Internal PIDs are the PIDs relative to the current PID namespace. ++// Flatpak's sandbox APIs work primarily with external PIDs, and an ++// internal PID must be retrieved from the SpawnStarted signal before ++// it is known inside the sandbox's PID namespace. ++class SANDBOX_EXPORT FlatpakSandbox { ++ public: ++ static FlatpakSandbox* GetInstance(); ++ ++ // Represents the level of sandboxing inside a Flatpak. kNone means this is ++ // not a Flatpak, kFlatpak means it's inside a Flatpak sandbox, and ++ // kRestricted means that this is inside a nested Flatpak sandbox with most ++ // permissions revoked. ++ enum class SandboxLevel { kNone, kFlatpak, kRestricted }; ++ ++ // Get the current level of sandboxing in this Flatpak. ++ SandboxLevel GetSandboxLevel(); ++ ++ // Returns whether or not the given PID was spawned via the Flatpak sandbox. ++ bool IsPidSandboxed(base::ProcessId relative_pid); ++ ++ // Launch the given process inside of a Flatpak sandbox. If allow_x11 is true, ++ // then the process will be given access to the host's X11 display. On ++ // failure, returns kNullProcessId. Note that the return value is the PID ++ // relative to the host i.e. outside the sandbox, to get the internal one call ++ // GetRelativePid. This is the reason why a vanilla ProcessId is returned ++ // rather than a base::Process instance. ++ base::Process LaunchProcess(const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options); ++ ++ // Indefinitely waits for the given process and fills the exit code pointer ++ // if given and non-null. Returns false on wait failure. ++ bool Wait(base::ProcessId relative_pid, int* exit_code); ++ ++ // Skips storing the exit status of the given PID. ++ void IgnoreExitStatus(base::ProcessId relative_pid); ++ ++ private: ++ friend class base::NoDestructor; ++ ++ FlatpakSandbox(); ++ FlatpakSandbox(const FlatpakSandbox&) = delete; ++ FlatpakSandbox(FlatpakSandbox&&) = delete; ++ ~FlatpakSandbox(); ++ ++ void StartBusThread(); ++ dbus::Bus* AcquireBusFromBusThread(); ++ dbus::ObjectProxy* GetPortalObjectProxy(); ++ ++ void InitializeBusThread(); ++ void OnSignalConnected(const std::string& interface, ++ const std::string& signal, ++ bool connected); ++ void OnSpawnStartedSignal(dbus::Signal* signal); ++ void OnSpawnExitedSignal(dbus::Signal* signal); ++ ++ base::ProcessId Spawn(const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options); ++ void SpawnOnBusThread(base::ProcessId* out_external_pid, ++ base::WaitableEvent* event, ++ const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options); ++ void OnSpawnResponse(base::ProcessId* out_external_pid, ++ base::WaitableEvent* event, ++ dbus::Response* response, ++ dbus::ErrorResponse* error_response); ++ ++ base::ProcessId GetRelativePid(base::ProcessId external_pid); ++ ++ absl::optional sandbox_level_; ++ base::Thread bus_thread_; ++ ++ base::Lock process_info_lock_; ++ // Note that broadcast is used in the source, because in general ++ // very few threads will be contending for the lock. ++ base::ConditionVariable process_info_cv_; ++ // Set of processes that have no associated relative PID yet. ++ base::flat_set unmapped_processes_; ++ // Map of running processes. ++ FlatpakPidMap running_processes_; ++ // Map of a relative process ID that has exited to its waitpid status. ++ std::map exited_process_statuses_; ++ // Relative process IDs that should have their statuses ignored on exit. ++ std::set ignore_status_; ++}; ++ ++} // namespace sandbox ++ ++#endif // SANDBOX_LINUX_SERVICES_FLATPAK_SANDBOX_H_ +diff --git a/sandbox/policy/BUILD.gn b/sandbox/policy/BUILD.gn +index 1a3c7c6cf8b15..4c1b121160df6 100644 +--- a/sandbox/policy/BUILD.gn ++++ b/sandbox/policy/BUILD.gn +@@ -118,6 +118,9 @@ component("policy") { + "//sandbox/linux:suid_sandbox_client", + ] + } ++ if (is_linux) { ++ public_deps += [ "//sandbox/linux:sandbox_services" ] ++ } + if (is_chromeos) { + sources += [ + "linux/bpf_ime_policy_linux.cc", +diff --git a/sandbox/policy/linux/sandbox_linux.cc b/sandbox/policy/linux/sandbox_linux.cc +index 714cb2e115b84..e85a3fb68ee90 100644 +--- a/sandbox/policy/linux/sandbox_linux.cc ++++ b/sandbox/policy/linux/sandbox_linux.cc +@@ -35,6 +35,7 @@ + #include "sandbox/constants.h" + #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h" + #include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/flatpak_sandbox.h" + #include "sandbox/linux/services/libc_interceptor.h" + #include "sandbox/linux/services/namespace_sandbox.h" + #include "sandbox/linux/services/proc_util.h" +@@ -220,6 +221,9 @@ void SandboxLinux::PreinitializeSandbox() { + const int yama_status = Yama::GetStatus(); + yama_is_enforcing_ = (yama_status & Yama::STATUS_PRESENT) && + (yama_status & Yama::STATUS_ENFORCING); ++ ++ flatpak_sandbox_level_ = ++ sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel(); + pre_initialized_ = true; + } + +@@ -258,6 +262,10 @@ int SandboxLinux::GetStatus() { + sandbox_status_flags_ |= kPIDNS; + if (NamespaceSandbox::InNewNetNamespace()) + sandbox_status_flags_ |= kNetNS; ++ } else if (flatpak_sandbox_level_ == ++ sandbox::FlatpakSandbox::SandboxLevel::kRestricted) { ++ // Flatpak sandboxes always use new namespaces. ++ sandbox_status_flags_ |= kFlatpak | kPIDNS | kNetNS; + } + + // We report whether the sandbox will be activated when renderers and +diff --git a/sandbox/policy/linux/sandbox_linux.h b/sandbox/policy/linux/sandbox_linux.h +index 76e20d21b71d3..3339b852fc948 100644 +--- a/sandbox/policy/linux/sandbox_linux.h ++++ b/sandbox/policy/linux/sandbox_linux.h +@@ -13,6 +13,7 @@ + #include "base/memory/raw_ptr.h" + #include "base/posix/global_descriptors.h" + #include "base/sanitizer_buildflags.h" ++#include "sandbox/linux/services/flatpak_sandbox.h" + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" + #include "sandbox/policy/export.h" +@@ -91,6 +92,9 @@ class SANDBOX_POLICY_EXPORT SandboxLinux { + // User namespace sandbox active. + kUserNS = 1 << 6, + ++ // Flatpak sandbox active. ++ kFlatpak = 1 << 7, ++ + // A flag that denotes an invalid sandbox status. + kInvalid = 1 << 31, + }; +@@ -289,6 +293,10 @@ class SANDBOX_POLICY_EXPORT SandboxLinux { + bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. + bool yama_is_enforcing_; // Accurate if pre_initialized_. + bool initialize_sandbox_ran_; // InitializeSandbox() was called. ++ // Accurate if pre_initialized_, used to save the state of the Flatpak ++ // sandbox, as once we're in the BPF sandbox any attempts to check the Flatpak ++ // state will cause EPERM errors. ++ sandbox::FlatpakSandbox::SandboxLevel flatpak_sandbox_level_; + std::unique_ptr setuid_sandbox_client_; + #if BUILDFLAG(USING_SANITIZER) + std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; +diff --git a/services/service_manager/service_process_launcher.cc b/services/service_manager/service_process_launcher.cc +index 60484255e653b..797f3b9ad6cd8 100644 +--- a/services/service_manager/service_process_launcher.cc ++++ b/services/service_manager/service_process_launcher.cc +@@ -41,6 +41,7 @@ + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#include "sandbox/linux/services/flatpak_sandbox.h" + #include "sandbox/linux/services/namespace_sandbox.h" + #endif + +@@ -286,8 +287,15 @@ void ServiceProcessLauncher::ProcessState::StopInBackground() { + return; + + int rv = -1; +- LOG_IF(ERROR, !child_process_.WaitForExit(&rv)) +- << "Failed to wait for child process"; ++ bool success = false; ++ auto* flatpak_sandbox = sandbox::FlatpakSandbox::GetInstance(); ++ if (flatpak_sandbox->IsPidSandboxed(child_process_.Pid())) { ++ success = flatpak_sandbox->Wait(child_process_.Pid(), &rv); ++ } else { ++ success = child_process_.WaitForExit(&rv); ++ } ++ LOG_IF(ERROR, success) << "Failed to wait for child process"; ++ + child_process_.Close(); + } + +-- +2.51.2 + diff --git a/flatpak-Adjust-paths-for-the-sandbox.patch b/flatpak-Adjust-paths-for-the-sandbox.patch new file mode 100644 index 0000000..eeac905 --- /dev/null +++ b/flatpak-Adjust-paths-for-the-sandbox.patch @@ -0,0 +1,86 @@ +From 4cf3b38a276a3963a356d22ffa01b1ca07c686ee Mon Sep 17 00:00:00 2001 +From: Ryan Gonzalez +Date: Tue, 25 Aug 2020 19:26:07 -0500 +Subject: [PATCH] flatpak: Adjust paths for the sandbox + +--- + chrome/common/BUILD.gn | 4 ++++ + chrome/common/chrome_paths.cc | 26 +++++++++++++++++++++++++- + 2 files changed, 29 insertions(+), 1 deletion(-) + +diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn +index 45a080086dfd8..ef631e6ad5f80 100644 +--- a/chrome/common/BUILD.gn ++++ b/chrome/common/BUILD.gn +@@ -614,6 +614,10 @@ static_library("constants") { + "//third_party/widevine/cdm:headers", + ] + } ++ ++ if (is_linux) { ++ deps += [ "//sandbox/linux:sandbox_services" ] ++ } + } + + # Use a static library here because many test binaries depend on this but don't +diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc +index 9c4d73b730baa..318d3eef58979 100644 +--- a/chrome/common/chrome_paths.cc ++++ b/chrome/common/chrome_paths.cc +@@ -39,6 +39,10 @@ + #include "base/win/registry.h" + #endif + ++#if BUILDFLAG(IS_LINUX) ++#include "sandbox/linux/services/flatpak_sandbox.h" ++#endif ++ + #if BUILDFLAG(ENABLE_WIDEVINE) + #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck + #endif +@@ -407,6 +411,14 @@ bool PathProvider(int key, base::FilePath* result) { + #endif + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) + case chrome::DIR_POLICY_FILES: { ++#if defined(OS_LINUX) ++ if (sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() > ++ sandbox::FlatpakSandbox::SandboxLevel::kNone) { ++ cur = base::FilePath( ++ FILE_PATH_LITERAL("/app/chromium/extensions/policies")); ++ break; ++ } ++#endif + cur = base::FilePath(policy::kPolicyPath); + break; + } +@@ -423,7 +435,13 @@ bool PathProvider(int key, base::FilePath* result) { + #endif + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { +- cur = base::FilePath(kFilepathSinglePrefExtensions); ++ if (sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() > ++ sandbox::FlatpakSandbox::SandboxLevel::kNone) { ++ cur = base::FilePath( ++ FILE_PATH_LITERAL("/app/chromium/extensions/extensions")); ++ } else { ++ cur = base::FilePath(kFilepathSinglePrefExtensions); ++ } + break; + } + #endif +@@ -471,6 +489,12 @@ bool PathProvider(int key, base::FilePath* result) { + "/Library/Application Support/Chromium/NativeMessagingHosts")); + #endif + #else // BUILDFLAG(IS_MAC) ++ if (sandbox::FlatpakSandbox::GetInstance()->GetSandboxLevel() > ++ sandbox::FlatpakSandbox::SandboxLevel::kNone) { ++ cur = base::FilePath(FILE_PATH_LITERAL( ++ "/app/chromium/extensions/native-messaging-hosts")); ++ break; ++ } + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + cur = base::FilePath( + FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts")); +-- +2.51.2 + diff --git a/flatpak-Expose-Widevine-into-the-sandbox.patch b/flatpak-Expose-Widevine-into-the-sandbox.patch new file mode 100644 index 0000000..bacf9c9 --- /dev/null +++ b/flatpak-Expose-Widevine-into-the-sandbox.patch @@ -0,0 +1,326 @@ +From 895ee4ca3d52eee03c9604465ad5e90591969d64 Mon Sep 17 00:00:00 2001 +From: Ryan Gonzalez +Date: Tue, 17 Nov 2020 13:00:39 -0600 +Subject: [PATCH] flatpak: Expose Widevine into the sandbox + +--- + .../zygote_host/zygote_host_impl_linux.cc | 54 +++++++++++++- + sandbox/linux/services/flatpak_sandbox.cc | 74 ++++++++++++++----- + sandbox/linux/services/flatpak_sandbox.h | 27 ++++++- + 3 files changed, 131 insertions(+), 24 deletions(-) + +diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc +index c87e1248171cf..11f17a19ff949 100644 +--- a/content/browser/zygote_host/zygote_host_impl_linux.cc ++++ b/content/browser/zygote_host/zygote_host_impl_linux.cc +@@ -10,7 +10,10 @@ + + #include "base/compiler_specific.h" + #include "base/files/file_enumerator.h" ++#include "base/files/file_util.h" + #include "base/logging.h" ++#include "base/nix/xdg_util.h" ++#include "base/path_service.h" + #include "base/posix/unix_domain_socket.h" + #include "base/process/kill.h" + #include "base/process/launch.h" +@@ -18,9 +21,12 @@ + #include "base/strings/string_number_conversions.h" + #include "base/types/fixed_array.h" + #include "build/build_config.h" ++#include "chrome/common/chrome_paths.h" // nogncheck + #include "content/common/zygote/zygote_commands_linux.h" + #include "content/common/zygote/zygote_communication_linux.h" + #include "content/common/zygote/zygote_handle_impl_linux.h" ++#include "content/public/common/cdm_info.h" ++#include "content/public/common/content_client.h" + #include "content/public/common/zygote/zygote_handle.h" + #include "sandbox/linux/services/credentials.h" + #include "sandbox/linux/services/flatpak_sandbox.h" +@@ -29,6 +35,7 @@ + #include "sandbox/linux/suid/common/sandbox.h" + #include "sandbox/policy/linux/sandbox_linux.h" + #include "sandbox/policy/switches.h" ++#include "third_party/widevine/cdm/buildflags.h" // nogncheck + + #if BUILDFLAG(IS_CHROMEOS) + #include "content/common/zygote/zygote_communication_linux.h" +@@ -193,8 +200,51 @@ pid_t ZygoteHostImpl::LaunchZygote( + if (is_sandboxed_zygote && use_namespace_sandbox_) { + process = sandbox::NamespaceSandbox::LaunchProcess(*cmd_line, options); + } else if (is_sandboxed_zygote && use_flatpak_sandbox_) { +- process = sandbox::FlatpakSandbox::GetInstance()->LaunchProcess(*cmd_line, +- options); ++ sandbox::FlatpakSandbox::SpawnOptions spawn_options; ++ ++#if BUILDFLAG(ENABLE_LIBRARY_CDMS) ++ // Expose the CDM paths into the sandbox. This is similar to PreSandboxInit ++ // in content_main_runner_impl.cc. ++ std::vector cdms; ++ GetContentClient()->AddContentDecryptionModules(&cdms, nullptr); ++ for (const auto& cdm : cdms) { ++ if (!spawn_options.ExposePathRo(cdm.path)) { ++ LOG(ERROR) << "Failed to expose CDM module"; ++ } ++ } ++#endif ++ ++#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) ++ // Make sure we also expose the full Widevine CDM folder so it can be ++ // detected. ++ // TODO: Remove the explicit dependencies on chrome::. ++ base::FilePath widevine_cdm_path; ++ if (!base::PathService::Get(chrome::DIR_COMPONENT_UPDATED_WIDEVINE_CDM, ++ &widevine_cdm_path)) { ++ LOG(ERROR) << "Failed to get Widevine CDM folder for sandbox forwarding"; ++ } ++ ++ LOG(INFO) << "Widevine CDM path IS: " << widevine_cdm_path; ++ ++ if (!widevine_cdm_path.empty() && base::PathExists(widevine_cdm_path)) { ++ if (!spawn_options.ExposePathRo(widevine_cdm_path)) { ++ LOG(ERROR) << "Failed to expose updated Widevine CDM path"; ++ } ++ } ++ ++ // The Widevine data is found relative to $XDG_CONFIG_HOME, which is not set ++ // by default when running a sandboxed process. ++ auto env = base::Environment::Create(); ++ base::FilePath xdgConfigHome = base::nix::GetXDGDirectory( ++ env.get(), base::nix::kXdgConfigHomeEnvVar, nullptr); ++ if (!xdgConfigHome.empty()) { ++ options.environment[base::nix::kXdgConfigHomeEnvVar] = ++ xdgConfigHome.value(); ++ } ++#endif ++ ++ process = sandbox::FlatpakSandbox::GetInstance()->LaunchProcess( ++ *cmd_line, options, spawn_options); + } else { + process = base::LaunchProcess(*cmd_line, options); + } +diff --git a/sandbox/linux/services/flatpak_sandbox.cc b/sandbox/linux/services/flatpak_sandbox.cc +index c854f32b185a3..bcfd8df2e3cb5 100644 +--- a/sandbox/linux/services/flatpak_sandbox.cc ++++ b/sandbox/linux/services/flatpak_sandbox.cc +@@ -4,6 +4,7 @@ + + #include "sandbox/linux/services/flatpak_sandbox.h" + ++#include + #include + #include + #include +@@ -92,6 +93,18 @@ enum FlatpakSpawnSandboxFlags { + kFlatpakSpawnSandbox_ShareA11yBus = 1 << 4, + }; + ++bool FlatpakSandbox::SpawnOptions::ExposePathRo(base::FilePath path) { ++ base::ScopedFD fd( ++ HANDLE_EINTR(open(path.value().c_str(), O_PATH | O_NOFOLLOW))); ++ if (!fd.is_valid()) { ++ PLOG(ERROR) << "Failed to expose path " << path; ++ return false; ++ } ++ ++ sandbox_expose_ro.push_back(std::move(fd)); ++ return true; ++} ++ + FlatpakSandbox::FlatpakSandbox() + : bus_thread_("FlatpakPortalBus"), process_info_cv_(&process_info_lock_) {} + +@@ -168,8 +181,9 @@ bool FlatpakSandbox::IsPidSandboxed(base::ProcessId relative_pid) { + + base::Process FlatpakSandbox::LaunchProcess( + const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options) { +- base::ProcessId external_pid = Spawn(cmdline, launch_options); ++ const base::LaunchOptions& launch_options, ++ const SpawnOptions& spawn_options /*= {}*/) { ++ base::ProcessId external_pid = Spawn(cmdline, launch_options, spawn_options); + if (external_pid == base::kNullProcessId) { + return base::Process(); + } +@@ -363,9 +377,9 @@ void FlatpakSandbox::OnSpawnExitedSignal(dbus::Signal* signal) { + process_info_cv_.Broadcast(); + } + +-base::ProcessId FlatpakSandbox::Spawn( +- const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options) { ++base::ProcessId FlatpakSandbox::Spawn(const base::CommandLine& cmdline, ++ const base::LaunchOptions& launch_options, ++ const SpawnOptions& spawn_options) { + base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, + base::BlockingType::MAY_BLOCK); + base::ScopedAllowBaseSyncPrimitives allow_wait; +@@ -391,24 +405,26 @@ base::ProcessId FlatpakSandbox::Spawn( + FROM_HERE, + base::BindOnce(&FlatpakSandbox::SpawnOnBusThread, base::Unretained(this), + base::Unretained(&external_pid), base::Unretained(&event), +- cmdline, launch_options)); ++ base::Unretained(&cmdline), ++ base::Unretained(&launch_options), ++ base::Unretained(&spawn_options))); + event.Wait(); + + return external_pid; + } + +-void FlatpakSandbox::SpawnOnBusThread( +- base::ProcessId* out_external_pid, +- base::WaitableEvent* event, +- const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options) { ++void FlatpakSandbox::SpawnOnBusThread(base::ProcessId* out_external_pid, ++ base::WaitableEvent* event, ++ const base::CommandLine* cmdline, ++ const base::LaunchOptions* launch_options, ++ const SpawnOptions* spawn_options) { + dbus::ObjectProxy* object_proxy = GetPortalObjectProxy(); + dbus::MethodCall method_call(kFlatpakPortalInterfaceName, "Spawn"); + dbus::MessageWriter writer(&method_call); + + const base::FilePath& current_directory = +- !launch_options.current_directory.empty() +- ? launch_options.current_directory ++ !launch_options->current_directory.empty() ++ ? launch_options->current_directory + // Change to /app since it's guaranteed to always be present in + // the sandbox. + : kFlatpakAppPath; +@@ -417,7 +433,7 @@ void FlatpakSandbox::SpawnOnBusThread( + dbus::MessageWriter argv_writer(nullptr); + writer.OpenArray("ay", &argv_writer); + +- for (const std::string& arg : cmdline.argv()) { ++ for (const std::string& arg : cmdline->argv()) { + WriteStringAsByteArray(&argv_writer, arg); + } + +@@ -439,7 +455,7 @@ void FlatpakSandbox::SpawnOnBusThread( + WriteFdPairMap(&fds_writer, STDOUT_FILENO, STDOUT_FILENO); + WriteFdPairMap(&fds_writer, STDERR_FILENO, STDERR_FILENO); + +- for (const auto& pair : launch_options.fds_to_remap) { ++ for (const auto& pair : launch_options->fds_to_remap) { + WriteFdPairMap(&fds_writer, pair.first, pair.second); + } + +@@ -448,7 +464,7 @@ void FlatpakSandbox::SpawnOnBusThread( + dbus::MessageWriter env_writer(nullptr); + writer.OpenArray("{ss}", &env_writer); + +- for (const auto& pair : launch_options.environment) { ++ for (const auto& pair : launch_options->environment) { + dbus::MessageWriter entry_writer(nullptr); + env_writer.OpenDictEntry(&entry_writer); + +@@ -472,11 +488,11 @@ void FlatpakSandbox::SpawnOnBusThread( + #else + #endif + +- if (launch_options.clear_environment) { ++ if (launch_options->clear_environment) { + spawn_flags |= kFlatpakSpawn_ClearEnvironment; + } + +- if (launch_options.kill_on_parent_death) { ++ if (launch_options->kill_on_parent_death) { + spawn_flags |= kFlatpakSpawn_WatchBus; + } + +@@ -485,6 +501,28 @@ void FlatpakSandbox::SpawnOnBusThread( + dbus::MessageWriter options_writer(nullptr); + writer.OpenArray("{sv}", &options_writer); + ++ if (!spawn_options->sandbox_expose_ro.empty()) { ++ dbus::MessageWriter entry_writer(nullptr); ++ options_writer.OpenDictEntry(&entry_writer); ++ ++ entry_writer.AppendString("sandbox-expose-fd-ro"); ++ ++ dbus::MessageWriter variant_writer(nullptr); ++ entry_writer.OpenVariant("ah", &variant_writer); ++ ++ dbus::MessageWriter fds_writer(nullptr); ++ variant_writer.OpenArray("h", &fds_writer); ++ ++ for (const base::ScopedFD& fd : spawn_options->sandbox_expose_ro) { ++ CHECK(fd.is_valid()) << "Invalid spawn expose fd"; ++ fds_writer.AppendFileDescriptor(fd.get()); ++ } ++ ++ variant_writer.CloseContainer(&fds_writer); ++ entry_writer.CloseContainer(&variant_writer); ++ options_writer.CloseContainer(&entry_writer); ++ } ++ + if (sandbox_flags != 0) { + dbus::MessageWriter entry_writer(nullptr); + options_writer.OpenDictEntry(&entry_writer); +diff --git a/sandbox/linux/services/flatpak_sandbox.h b/sandbox/linux/services/flatpak_sandbox.h +index 167bbc85945ad..de8e7165b4573 100644 +--- a/sandbox/linux/services/flatpak_sandbox.h ++++ b/sandbox/linux/services/flatpak_sandbox.h +@@ -9,6 +9,8 @@ + #include "base/compiler_specific.h" + #include "base/containers/flat_map.h" + #include "base/containers/flat_set.h" ++#include "base/files/file_path.h" ++#include "base/files/scoped_file.h" + #include "base/no_destructor.h" + #include "base/process/kill.h" + #include "base/process/launch.h" +@@ -34,6 +36,20 @@ namespace sandbox { + // it is known inside the sandbox's PID namespace. + class SANDBOX_EXPORT FlatpakSandbox { + public: ++ class SpawnOptions { ++ public: ++ SpawnOptions() = default; ++ SpawnOptions(const SpawnOptions& other) = delete; ++ SpawnOptions(SpawnOptions&& other) = delete; ++ ++ bool ExposePathRo(base::FilePath path); ++ ++ private: ++ friend class FlatpakSandbox; ++ ++ std::vector sandbox_expose_ro; ++ }; ++ + static FlatpakSandbox* GetInstance(); + + // Represents the level of sandboxing inside a Flatpak. kNone means this is +@@ -55,7 +71,8 @@ class SANDBOX_EXPORT FlatpakSandbox { + // GetRelativePid. This is the reason why a vanilla ProcessId is returned + // rather than a base::Process instance. + base::Process LaunchProcess(const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options); ++ const base::LaunchOptions& launch_options, ++ const SpawnOptions& spawn_options = {}); + + // Indefinitely waits for the given process and fills the exit code pointer + // if given and non-null. Returns false on wait failure. +@@ -84,11 +101,13 @@ class SANDBOX_EXPORT FlatpakSandbox { + void OnSpawnExitedSignal(dbus::Signal* signal); + + base::ProcessId Spawn(const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options); ++ const base::LaunchOptions& launch_options, ++ const SpawnOptions& spawn_options); + void SpawnOnBusThread(base::ProcessId* out_external_pid, + base::WaitableEvent* event, +- const base::CommandLine& cmdline, +- const base::LaunchOptions& launch_options); ++ const base::CommandLine* cmdline, ++ const base::LaunchOptions* launch_options, ++ const SpawnOptions* spawn_options); + void OnSpawnResponse(base::ProcessId* out_external_pid, + base::WaitableEvent* event, + dbus::Response* response, +-- +2.51.2 + diff --git a/get_chromium_from_git.sh b/get_chromium_from_git.sh new file mode 100755 index 0000000..c36e5c0 --- /dev/null +++ b/get_chromium_from_git.sh @@ -0,0 +1,61 @@ +#! /bin/bash + +SRC_DIR=chromium-src +VERSION=$1 +if [[ -z $VERSION ]]; then + echo "Version is missing" + exit 1 +fi + +rm -rf $SRC_DIR && mkdir -p $SRC_DIR +pushd $SRC_DIR +cat >.gclient < chromium-$VERSION-clean.tar.xz +echo "Finished!" + diff --git a/master_preferences b/master_preferences index fbc2ff0..8d732dc 100644 --- a/master_preferences +++ b/master_preferences @@ -1,5 +1,5 @@ { - "homepage": "https://start.fedoraproject.org", + "homepage": "https://fedoraproject.org/start", "homepage_is_newtabpage": false, "distribution": { "alternate_shortcut_text": false, @@ -11,7 +11,6 @@ "verbose_logging": false }, "first_run_tabs": [ - "https://start.fedoraproject.org", - "http://tools.google.com/chrome/intl/en/welcome.html" + "https://fedoraproject.org/start" ] } diff --git a/memory-allocator-dcheck-assert-fix.patch b/memory-allocator-dcheck-assert-fix.patch new file mode 100644 index 0000000..5b02e1d --- /dev/null +++ b/memory-allocator-dcheck-assert-fix.patch @@ -0,0 +1,24 @@ +Index: chromium-127.0.6533.88/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc +=================================================================== +--- chromium-127.0.6533.88.orig/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc ++++ chromium-127.0.6533.88/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc +@@ -492,6 +492,9 @@ uint8_t ComputeSystemPagesPerSlotSpanPre + partition_page_count <= kMaxPartitionPagesPerRegularSlotSpan; + partition_page_count++) { + size_t candidate_size = partition_page_count * PartitionPageSize(); ++ if (candidate_size > BucketIndexLookup::kMaxBucketSize) { ++ break; ++ } + size_t waste = candidate_size % slot_size; + if (waste <= .02 * SystemPageSize()) { + return partition_page_count * NumSystemPagesPerPartitionPage(); +@@ -508,6 +511,9 @@ uint8_t ComputeSystemPagesPerSlotSpanPre + size_t system_page_count = + partition_page_count * NumSystemPagesPerPartitionPage() - slack; + size_t candidate_size = system_page_count * SystemPageSize(); ++ if (candidate_size > BucketIndexLookup::kMaxBucketSize) { ++ continue; ++ } + size_t waste = candidate_size % slot_size; + if (waste < best_waste) { + best_waste = waste; diff --git a/nodejs-sources.sh b/nodejs-sources.sh new file mode 100755 index 0000000..6ba300f --- /dev/null +++ b/nodejs-sources.sh @@ -0,0 +1,353 @@ +#!/bin/sh +# Uses Argbash to generate command argument parsing. To update +# arguments, make sure to call +# `argbash nodejs-tarball.sh -o nodejs-tarball.sh` + +# ARG_POSITIONAL_SINGLE([version],[Node.js release version]) +# ARG_OPTIONAL_BOOLEAN([push],[],[Whether to upload to the lookaside cache],[on]) +# ARG_OPTIONAL_BOOLEAN([debug],[],[Print all commands],[off]) +# ARG_DEFAULTS_POS([]) +# ARG_HELP([Tool to aid in Node.js packaging of new releases]) +# ARGBASH_GO() +# needed because of Argbash --> m4_ignore([ +### START OF CODE GENERATED BY Argbash v2.10.0 one line above ### +# Argbash is a bash code generator used to get arguments parsing right. +# Argbash is FREE SOFTWARE, see https://argbash.io for more info + + +die() +{ + local _ret="${2:-1}" + test "${_PRINT_HELP:-no}" = yes && print_help >&2 + echo "$1" >&2 + exit "${_ret}" +} + + +begins_with_short_option() +{ + local first_option all_short_options='h' + first_option="${1:0:1}" + test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0 +} + +# THE DEFAULTS INITIALIZATION - POSITIONALS +_positionals=() +_arg_version= +# THE DEFAULTS INITIALIZATION - OPTIONALS +_arg_push="on" +_arg_debug="off" + + +print_help() +{ + printf '%s\n' "Tool to aid in Node.js packaging of new releases" + printf 'Usage: %s [--(no-)push] [--(no-)debug] [-h|--help] \n' "$0" + printf '\t%s\n' ": Node.js release version" + printf '\t%s\n' "--push, --no-push: Whether to upload to the lookaside cache (on by default)" + printf '\t%s\n' "--debug, --no-debug: Print all commands (off by default)" + printf '\t%s\n' "-h, --help: Prints help" +} + + +parse_commandline() +{ + _positionals_count=0 + while test $# -gt 0 + do + _key="$1" + case "$_key" in + --no-push|--push) + _arg_push="on" + test "${1:0:5}" = "--no-" && _arg_push="off" + ;; + --no-debug|--debug) + _arg_debug="on" + test "${1:0:5}" = "--no-" && _arg_debug="off" + ;; + -h|--help) + print_help + exit 0 + ;; + -h*) + print_help + exit 0 + ;; + *) + _last_positional="$1" + _positionals+=("$_last_positional") + _positionals_count=$((_positionals_count + 1)) + ;; + esac + shift + done +} + + +handle_passed_args_count() +{ + local _required_args_string="'version'" + test "${_positionals_count}" -ge 1 || _PRINT_HELP=yes die "FATAL ERROR: Not enough positional arguments - we require exactly 1 (namely: $_required_args_string), but got only ${_positionals_count}." 1 + test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect exactly 1 (namely: $_required_args_string), but got ${_positionals_count} (the last one was: '${_last_positional}')." 1 +} + + +assign_positional_args() +{ + local _positional_name _shift_for=$1 + _positional_names="_arg_version " + + shift "$_shift_for" + for _positional_name in ${_positional_names} + do + test $# -gt 0 || break + eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1 + shift + done +} + +parse_commandline "$@" +handle_passed_args_count +assign_positional_args 1 "${_positionals[@]}" + +# OTHER STUFF GENERATED BY Argbash + +### END OF CODE GENERATED BY Argbash (sortof) ### ]) +# [ <-- needed because of Argbash + +if [ $_arg_debug = 'on' ]; then + set -x +fi + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +alias wget='wget --quiet' + +packages=("jq" "wget" "tar" "fedpkg" "grep" "sed" "python3-jinja2-cli" "nodejs") + +rpm -q ${packages[@]} >/dev/null +if [ $? -ne 0 ]; then + sudo dnf -y install ${packages[@]} +fi + +set -e + +version=$_arg_version + +NODE_MAJOR=$(echo $version | cut -d. -f1) +NODE_MINOR=$(echo $version | cut -d. -f2) +NODE_PATCH=$(echo $version | cut -d. -f3) + +# Treat odd-numbered major releases as pre-releases for the +# next LTS release. +if [[ $((NODE_MAJOR % 2)) -eq 0 ]]; + then NODE_PKG_MAJOR=${NODE_MAJOR}; + else NODE_PKG_MAJOR=$((NODE_MAJOR + 1)); +fi + +FEDORA_DEFAULT_RELEASE_LOW=$((NODE_PKG_MAJOR + 19)) +FEDORA_DEFAULT_RELEASE_HIGH=$((NODE_PKG_MAJOR + 21)) + +if [[ $((NODE_PKG_MAJOR)) -eq 20 ]] + then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 10" +elif [[ $((NODE_PKG_MAJOR)) -eq 22 ]]; + then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 11" +fi + +rm -rf node-v${version}.tar.gz \ + node-v${version}-stripped.tar.gz \ + node-v${version}/ \ + wasi-sdk-* \ + cjs-module-lexer* \ + undici* \ + SHASUMS256.txt +echo Downloading node-v${version}.tar.gz +wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \ + http://nodejs.org/dist/v${version}/SHASUMS256.txt +echo Validating sha256sum +sha256sum -c SHASUMS256.txt --ignore-missing +rm -f SHASUMS256.txt +tar -zxf node-v${version}.tar.gz + +# Remove bundled OpenSSL +# We will link to the system version +rm -rf node-v${version}/deps/openssl +tar -zcf node-v${version}-stripped.tar.gz node-v${version} + +# Record the bundled cjs-module-lexer version +LEXER_VERSION=$(jq -r '.version' node-v${version}/deps/cjs-module-lexer/package.json) + +# Record the bundled undici version +UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json) + +ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g') +ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g') + +# Download the ICU binary data files +rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +wget $(grep -E 'Source3\>' packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") +wget $(grep -E 'Source4\>' packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") + +rm -f node-v${version}.tar.gz + +set +e + +# Determine the bundled versions of the various packages +echo "Included software versions" +echo "-------------------------" +echo +echo "Node.js version" +echo "=========================" +echo "${version}" +echo +echo "libnode shared object version" +echo "=========================" +NODE_SOVERSION=$(grep -oP '(?<=#define NODE_MODULE_VERSION )\d+' node-v${version}/src/node_version.h) +echo "${NODE_SOVERSION}" +echo +echo "V8" +echo "=========================" +V8_MAJOR=$(grep -oP '(?<=#define V8_MAJOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_MINOR=$(grep -oP '(?<=#define V8_MINOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_BUILD=$(grep -oP '(?<=#define V8_BUILD_NUMBER )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_PATCH=$(grep -oP '(?<=#define V8_PATCH_LEVEL )\d+' node-v${version}/deps/v8/include/v8-version.h) +echo "${V8_MAJOR}.${V8_MINOR}.${V8_BUILD}.${V8_PATCH}" +echo +echo "c-ares" +echo "=========================" +C_ARES_VERSION=$(grep -oP '(?<=#define ARES_VERSION_STR ).*\"' node-v${version}/deps/cares/include/ares_version.h |sed -e 's/^"//' -e 's/"$//') +echo $C_ARES_VERSION +echo +echo "llhttp" +echo "=========================" +LLHTTP_MAJOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MAJOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_MINOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MINOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_PATCH=$(grep -oP '(?<=#define LLHTTP_VERSION_PATCH )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_VERSION="${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}" +echo $LLHTTP_VERSION +echo +echo "libuv" +echo "=========================" +UV_MAJOR=$(grep -oP '(?<=#define UV_VERSION_MAJOR )\d+' node-v${version}/deps/uv/include/uv/version.h) +UV_MINOR=$(grep -oP '(?<=#define UV_VERSION_MINOR )\d+' node-v${version}/deps/uv/include/uv/version.h) +UV_PATCH=$(grep -oP '(?<=#define UV_VERSION_PATCH )\d+' node-v${version}/deps/uv/include/uv/version.h) +LIBUV_VERSION="${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}" +echo $LIBUV_VERSION +echo +echo "nghttp2" +echo "=========================" +NGHTTP2_VERSION=$(grep -oP '(?<=#define NGHTTP2_VERSION ).*\"' node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h |sed -e 's/^"//' -e 's/"$//') +echo $NGHTTP2_VERSION +echo +echo "nghttp3" +echo "=========================" +NGHTTP3_VERSION=$(grep -oP '(?<=#define NGHTTP3_VERSION ).*\"' node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h |sed -e 's/^"//' -e 's/"$//') +echo $NGHTTP3_VERSION +echo +echo "ngtcp2" +echo "=========================" +NGTCP2_VERSION=$(grep -oP '(?<=#define NGTCP2_VERSION ).*\"' node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h |sed -e 's/^"//' -e 's/"$//') +echo $NGTCP2_VERSION +echo +echo "ICU" +echo "=========================" +echo "${ICU_MAJOR}.${ICU_MINOR}" +echo +echo "simdutf" +echo "=========================" +SIMDUTF_VERSION=$(grep -oP '(?<=#define SIMDUTF_VERSION ).*\"' node-v${version}/deps/simdutf/simdutf.h |sed -e 's/^"//' -e 's/"$//') +echo $SIMDUTF_VERSION +echo +echo "punycode" +echo "=========================" +PUNYCODE_VERSION=$(/usr/bin/node -e "console.log(require('punycode').version)") +echo $PUNYCODE_VERSION +echo +echo "uvwasi" +echo "=========================" +UVWASI_MAJOR=$(grep -oP '(?<=#define UVWASI_VERSION_MAJOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_MINOR=$(grep -oP '(?<=#define UVWASI_VERSION_MINOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_PATCH=$(grep -oP '(?<=#define UVWASI_VERSION_PATCH )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_VERSION="${UVWASI_MAJOR}.${UVWASI_MINOR}.${UVWASI_PATCH}" +echo $UVWASI_VERSION +echo +echo "npm" +echo "=========================" +NPM_VERSION=$(jq -r .version ./node-v${version}/deps/npm/package.json) +echo $NPM_VERSION +echo +echo "zlib" +echo "=========================" +ZLIB_VERSION=$(grep -oP '(?<=#define ZLIB_VERSION ).*\"' node-v${version}/deps/zlib/zlib.h |sed -e 's/^"//' -e 's/"$//') +echo $ZLIB_VERSION +echo +echo "cjs-module-lexer" +echo "=========================" +echo "${LEXER_VERSION}" +echo +echo "undici" +echo "=========================" +echo "${UNDICI_VERSION}" +echo +echo "ada" +echo "=========================" +ADA_VERSION=$(grep -osP '(?<=#define ADA_VERSION ).*\"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//') +ADA_VERSION=${ADA_VERSION:-0} +echo "${ADA_VERSION}" +echo +echo "sqlite" +echo "=========================" +SQLITE_VERSION="$(grep -osP '(?<=#define SQLITE_VERSION ).*\"' node-v${version}/deps/sqlite/sqlite3.h |sed -e 's/^\s*"//' -e 's/"\s*$//')" +echo "${SQLITE_VERSION}" +echo +echo "Applying versions to spec template" + +# Get the list of patches we need to add to the specfile +readarray -t patchlist < <(git ls-files |grep '^[0-9]\{4\}-.*\.patch') +json_patchlist=$(jq --compact-output --null-input '$ARGS.positional' --args -- "${patchlist[@]}") + +IFS='' read -r -d '' template_json < ${SCRIPT_DIR}/nodejs${NODE_PKG_MAJOR}.spec + +if [ $_arg_push = 'on' ]; then + fedpkg new-sources node-v${version}-stripped.tar.gz \ + icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +fi + +rm -rf node-v${version} +# ] <-- needed because of Argbash diff --git a/skia-vsx-instructions.patch b/skia-vsx-instructions.patch new file mode 100644 index 0000000..acffaa2 --- /dev/null +++ b/skia-vsx-instructions.patch @@ -0,0 +1,701 @@ +Index: chromium-144.0.7559.59/third_party/skia/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/BUILD.gn ++++ chromium-144.0.7559.59/third_party/skia/BUILD.gn +@@ -199,6 +199,12 @@ opts("lasx") { + cflags = [ "-mlasx" ] + } + ++opts("vsx") { ++ enabled = current_cpu == "ppc64" ++ sources = skia_opts.vsx_sources ++ cflags = [ "-mcpu=power9", "-mtune=power9" ] ++} ++ + # Any feature of Skia that requires third-party code should be optional and use this template. + template("optional") { + if (invoker.enabled) { +@@ -1700,6 +1706,7 @@ skia_component("skia") { + ":skx", + ":typeface_fontations", + ":vello", ++ ":vsx", + ":webp_decode", + ":wuffs", + ":xml", +Index: chromium-144.0.7559.59/third_party/skia/gn/skia/BUILD.gn +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/gn/skia/BUILD.gn ++++ chromium-144.0.7559.59/third_party/skia/gn/skia/BUILD.gn +@@ -142,6 +142,8 @@ config("default") { + "-mfpmath=sse", + ] + ldflags += [ "-m32" ] ++ } else if (current_cpu == "ppc64") { ++ cflags += [ "-mcpu=power9", "-mtune=power9" ] + } else if (current_cpu == "loong64") { + cflags += [ + "-mlsx", +Index: chromium-144.0.7559.59/third_party/skia/include/core/SkTypes.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/include/core/SkTypes.h ++++ chromium-144.0.7559.59/third_party/skia/include/core/SkTypes.h +@@ -198,4 +198,43 @@ static constexpr uint32_t SK_InvalidGenI + */ + static constexpr uint32_t SK_InvalidUniqueID = 0; + ++////////////////////////////////////////////////////////////////////// ++// PPC defines ++ ++#if defined(__powerpc64__) || defined(__PPC64__) ++ #ifndef SK_CPU_PPC64 ++ #define SK_CPU_PPC64 ++ #endif ++ #undef SK_CPU_SSE_LEVEL ++#endif ++ ++// Newer versions of clang and gcc for ppc64 ship with wrappers that translate ++// Intel vector intrinsics into PPC VSX instrinsics, so we can pretend to have ++// to be Intel. Currently, full API support for SSSE3 on POWER8 and later ++// processors. ++#if defined(__POWER8_VECTOR__) && defined(__has_include) && \ ++ !defined(SK_CPU_SSE_LEVEL) ++ ++ // Clang ships both Intel and PPC headers in its PPC version, storing the ++ // PPC compatibility in a subdirectory that the compiler will include before ++ // its standard library include directory. ++ #if (__has_include() && !defined(__clang__)) || \ ++ __has_include() ++ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSSE3 ++ #elif (__has_include() && !defined(__clang__)) || \ ++ __has_include() ++ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE2 ++ #endif ++ ++ #ifdef SK_CPU_SSE_LEVEL ++ #define SK_PPC64_HAS_SSE_COMPAT ++ #ifndef NO_WARN_X86_INTRINSICS ++ #define NO_WARN_X86_INTRINSICS ++ #endif ++ #if defined(__clang__) ++ #define SK_PPC64_CLANG_MFPPR_BUG ++ #endif ++ #endif ++#endif ++ + #endif +Index: chromium-144.0.7559.59/third_party/skia/src/base/SkSpinlock.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/base/SkSpinlock.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/base/SkSpinlock.cpp +@@ -33,7 +33,8 @@ + #endif + + // Renamed from "pause" to avoid conflict with function defined in unistd.h +-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 ++#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 && \ ++ !defined(SK_PPC64_CLANG_MFPPR_BUG) + #include + static void do_pause() { _mm_pause(); } + #else +Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkBitmapProcState_opts.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h ++++ chromium-144.0.7559.59/third_party/skia/src/opts/SkBitmapProcState_opts.h +@@ -21,7 +21,13 @@ + // The rest are scattershot at the moment but I want to get them + // all migrated to be normal code inside SkBitmapProcState.cpp. + +-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 ++#if defined(SK_PPC64_HAS_SSE_COMPAT) ++ #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3 ++ #include ++ #else ++ #include ++ #endif ++#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 + #include + #elif defined(SK_ARM_HAS_NEON) + #include +Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkBlitRow_opts.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkBlitRow_opts.h ++++ chromium-144.0.7559.59/third_party/skia/src/opts/SkBlitRow_opts.h +@@ -69,7 +69,7 @@ + #endif + + #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 +- #include ++ #include + + static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) { + __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256), +Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkRasterPipeline_opts.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ chromium-144.0.7559.59/third_party/skia/src/opts/SkRasterPipeline_opts.h +@@ -1,5 +1,6 @@ + /* + * Copyright 2018 Google Inc. ++ * Copyright 2023-2024 Raptor Engineering, LLC + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. +@@ -81,6 +82,8 @@ using NoCtx = const void*; + #define SKRP_CPU_SCALAR + #elif defined(SK_ARM_HAS_NEON) + #define SKRP_CPU_NEON ++#elif defined(SK_PPC64_HAS_SSE_COMPAT) ++ #define SKRP_CPU_VSX + #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SKX + #define SKRP_CPU_SKX + #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2 +@@ -103,6 +106,8 @@ using NoCtx = const void*; + #include + #elif defined(SKRP_CPU_NEON) + #include ++#elif defined(SKRP_CPU_VSX) ++ #include + #elif defined(SKRP_CPU_LASX) + #include + #include +@@ -202,6 +207,192 @@ namespace SK_OPTS_NS { + ptr[3] = a; + } + ++#elif defined(SKRP_CPU_VSX) ++ // Since we know we're using Clang, we can use its vector extensions. ++ template using V = T __attribute__((ext_vector_type(4))); ++ using F = V; ++ using I32 = V< int32_t>; ++ using U64 = V; ++ using U32 = V; ++ using U16 = V; ++ using U8 = V; ++ ++ // We polyfill a few routines that Clang doesn't build into ext_vector_types. ++ SI F min(F a, F b) { return vec_min(a,b); } ++ SI I32 min(I32 a, I32 b) { return vec_min(a,b); } ++ SI U32 min(U32 a, U32 b) { return vec_min(a,b); } ++ SI F max(F a, F b) { return vec_max(a,b); } ++ SI I32 max(I32 a, I32 b) { return vec_max(a,b); } ++ SI U32 max(U32 a, U32 b) { return vec_max(a,b); } ++ ++ SI F abs_ (F v) { return vec_abs(v); } ++ SI I32 abs_ (I32 v) { return vec_abs(v); } ++ SI F rcp_approx(F v) { return vec_re(v); } ++ SI F rcp_precise (F v) { F e = rcp_approx(v); return e * (2.0f - v * e); } ++ SI F rsqrt_approx (F v) { return vec_rsqrte(v); } ++ ++ SI U16 pack(U32 v) { return __builtin_convertvector(v, U16); } ++ SI U8 pack(U16 v) { return __builtin_convertvector(v, U8); } ++ ++ SI F if_then_else(I32 c, F t, F e) { ++ return vec_or((vector float)vec_and((vector float)c, (vector float)t), (vector float)vec_andc((vector float)e, (vector float)c)); ++ } ++ SI I32 if_then_else(I32 c, I32 t, I32 e) { ++ return vec_or((vector unsigned int)vec_and((vector unsigned int)c, (vector unsigned int)t), (vector unsigned int)vec_andc((vector unsigned int)e, (vector unsigned int)c)); ++ } ++ ++ // In both AltiVec and SSE there is no horizontal element compare, unlike ARM. Fall back to scalar operations here... ++ SI bool any(I32 c) { ++ if (vec_extract((U32)c, 0) != 0) return 1; ++ if (vec_extract((U32)c, 1) != 0) return 1; ++ if (vec_extract((U32)c, 2) != 0) return 1; ++ if (vec_extract((U32)c, 3) != 0) return 1; ++ return 0; ++ } ++ SI bool all(I32 c) { ++ if (vec_extract((U32)c, 0) == 0) return 0; ++ if (vec_extract((U32)c, 1) == 0) return 0; ++ if (vec_extract((U32)c, 2) == 0) return 0; ++ if (vec_extract((U32)c, 3) == 0) return 0; ++ return 1; ++ } ++ ++ SI F mad(F f, F m, F a) { return vec_madd(f,m,a); } ++ SI F nmad(F f, F m, F a) { return vec_nmsub(f,m,a); } ++ SI F floor_(F v) { return vec_floor(v); } ++ SI F ceil_(F v) { return vec_ceil(v); } ++ SI F sqrt_(F v) { return vec_sqrt(v); } ++ SI I32 iround(F v) { return vec_cts((vector float)vec_rint(v), 0); } ++ SI U32 round(F v) { return vec_ctu((vector float)vec_rint(v), 0); } ++ SI U32 round(F v, F scale) { return vec_cts((vector float)vec_rint(v*scale), 0); } ++ ++ template ++ SI V gather(const T* p, U32 ix) { ++ return {p[ix[0]], p[ix[1]], p[ix[2]], p[ix[3]]}; ++ } ++ template ++ SI V gather_unaligned(const T* ptr, U32 ix) { ++ // This tells the compiler ptr might not be aligned appropriately, so ++ // it generates better assembly. ++ typedef T __attribute__ ((aligned (1))) unaligned_ptr; ++ const unaligned_ptr* uptr = static_cast(ptr); ++ return V{uptr[ix[0]], uptr[ix[1]], uptr[ix[2]], uptr[ix[3]]}; ++ } ++ template ++ SI void scatter_masked(V src, S* dst, U32 ix, I32 mask) { ++ V before = gather(dst, ix); ++ V after = if_then_else(mask, src, before); ++ dst[ix[0]] = after[0]; ++ dst[ix[1]] = after[1]; ++ dst[ix[2]] = after[2]; ++ dst[ix[3]] = after[3]; ++ } ++ ++ // TODO ++ // Finish converting these functions from the SSE translation layer to native AltiVec / VSX ++ SI void load2(const uint16_t* ptr, U16* r, U16* g) { ++ __m128i _01; ++ _01 = _mm_loadu_si128(((__m128i*)ptr) + 0); // r0 g0 r1 g1 r2 g2 r3 g3 ++ auto rg01_23 = _mm_shufflelo_epi16(_01, 0xD8); // r0 r1 g0 g1 r2 g2 r3 g3 ++ auto rg = _mm_shufflehi_epi16(rg01_23, 0xD8); // r0 r1 g0 g1 r2 r3 g2 g3 ++ ++ auto R = _mm_shuffle_epi32(rg, 0x88); // r0 r1 r2 r3 r0 r1 r2 r3 ++ auto G = _mm_shuffle_epi32(rg, 0xDD); // g0 g1 g2 g3 g0 g1 g2 g3 ++ *r = sk_unaligned_load(&R); ++ *g = sk_unaligned_load(&G); ++ } ++ ++ SI void store2(uint16_t* ptr, U16 r, U16 g) { ++ U32 rg = _mm_unpacklo_epi16(widen_cast<__m128i>(r), widen_cast<__m128i>(g)); ++ _mm_storeu_si128((__m128i*)ptr + 0, rg); ++ } ++ ++ SI void load3(const uint16_t* ptr, U16* r, U16* g, U16* b) { ++ __m128i _0, _1, _2, _3; ++ // Load slightly weirdly to make sure we don't load past the end of 4x48 bits. ++ auto _01 = _mm_loadu_si128((const __m128i*)(ptr + 0)) , ++ _23 = _mm_srli_si128(_mm_loadu_si128((const __m128i*)(ptr + 4)), 4); ++ ++ // Each _N holds R,G,B for pixel N in its lower 3 lanes (upper 5 are ignored). ++ _0 = _01; ++ _1 = _mm_srli_si128(_01, 6); ++ _2 = _23; ++ _3 = _mm_srli_si128(_23, 6); ++ ++ // De-interlace to R,G,B. ++ auto _02 = _mm_unpacklo_epi16(_0, _2), // r0 r2 g0 g2 b0 b2 xx xx ++ _13 = _mm_unpacklo_epi16(_1, _3); // r1 r3 g1 g3 b1 b3 xx xx ++ ++ auto R = _mm_unpacklo_epi16(_02, _13), // r0 r1 r2 r3 g0 g1 g2 g3 ++ G = _mm_srli_si128(R, 8), ++ B = _mm_unpackhi_epi16(_02, _13); // b0 b1 b2 b3 xx xx xx xx ++ ++ *r = sk_unaligned_load(&R); ++ *g = sk_unaligned_load(&G); ++ *b = sk_unaligned_load(&B); ++ } ++ ++ SI void load4(const uint16_t* ptr, U16* r, U16* g, U16* b, U16* a) { ++ __m128i _01, _23; ++ _01 = _mm_loadu_si128(((__m128i*)ptr) + 0); // r0 g0 b0 a0 r1 g1 b1 a1 ++ _23 = _mm_loadu_si128(((__m128i*)ptr) + 1); // r2 g2 b2 a2 r3 g3 b3 a3 ++ ++ auto _02 = _mm_unpacklo_epi16(_01, _23), // r0 r2 g0 g2 b0 b2 a0 a2 ++ _13 = _mm_unpackhi_epi16(_01, _23); // r1 r3 g1 g3 b1 b3 a1 a3 ++ ++ auto rg = _mm_unpacklo_epi16(_02, _13), // r0 r1 r2 r3 g0 g1 g2 g3 ++ ba = _mm_unpackhi_epi16(_02, _13); // b0 b1 b2 b3 a0 a1 a2 a3 ++ ++ *r = sk_unaligned_load((uint16_t*)&rg + 0); ++ *g = sk_unaligned_load((uint16_t*)&rg + 4); ++ *b = sk_unaligned_load((uint16_t*)&ba + 0); ++ *a = sk_unaligned_load((uint16_t*)&ba + 4); ++ } ++ ++ SI void store4(uint16_t* ptr, U16 r, U16 g, U16 b, U16 a) { ++ auto rg = _mm_unpacklo_epi16(widen_cast<__m128i>(r), widen_cast<__m128i>(g)), ++ ba = _mm_unpacklo_epi16(widen_cast<__m128i>(b), widen_cast<__m128i>(a)); ++ ++ _mm_storeu_si128((__m128i*)ptr + 0, _mm_unpacklo_epi32(rg, ba)); ++ _mm_storeu_si128((__m128i*)ptr + 1, _mm_unpackhi_epi32(rg, ba)); ++ } ++ ++ SI void load2(const float* ptr, F* r, F* g) { ++ F _01, _23; ++ _01 = _mm_loadu_ps(ptr + 0); ++ _23 = _mm_loadu_ps(ptr + 4); ++ *r = _mm_shuffle_ps(_01, _23, 0x88); ++ *g = _mm_shuffle_ps(_01, _23, 0xDD); ++ } ++ ++ SI void store2(float* ptr, F r, F g) { ++ F _01 = _mm_unpacklo_ps(r, g), ++ _23 = _mm_unpackhi_ps(r, g); ++ _mm_storeu_ps(ptr + 0, _01); ++ _mm_storeu_ps(ptr + 4, _23); ++ } ++ ++ SI void load4(const float* ptr, F* r, F* g, F* b, F* a) { ++ F _0, _1, _2, _3; ++ _0 = _mm_loadu_ps(ptr + 0); ++ _1 = _mm_loadu_ps(ptr + 4); ++ _2 = _mm_loadu_ps(ptr + 8); ++ _3 = _mm_loadu_ps(ptr +12); ++ _MM_TRANSPOSE4_PS(_0,_1,_2,_3); ++ *r = _0; ++ *g = _1; ++ *b = _2; ++ *a = _3; ++ } ++ ++ SI void store4(float* ptr, F r, F g, F b, F a) { ++ _MM_TRANSPOSE4_PS(r,g,b,a); ++ _mm_storeu_ps(ptr + 0, r); ++ _mm_storeu_ps(ptr + 4, g); ++ _mm_storeu_ps(ptr + 8, b); ++ _mm_storeu_ps(ptr +12, a); ++ } ++ + #elif defined(SKRP_CPU_NEON) + template using V = Vec<4, T>; + using F = V; +@@ -1427,6 +1618,15 @@ SI F from_half(U16 h) { + #elif defined(SKRP_CPU_HSW) + return _mm256_cvtph_ps((__m128i)h); + ++// Disabled for now as this is not a particularly hot function ++// and there is no good reason to lock Chromium to POWER9+ yet. ++#elif 0 && defined(SKRP_CPU_VSX) && __has_builtin(__builtin_vsx_xvcvhpsp) ++ #if defined(SK_CPU_LENDIAN) ++ return __builtin_vsx_xvcvhpsp({h[0], 0, h[1], 0, h[2], 0, h[3], 0}); ++ #else ++ return __builtin_vsx_xvcvhpsp({0, h[0], 0, h[1], 0, h[2], 0, h[3]}); ++ #endif ++ + #else + // Remember, a half is 1-5-10 (sign-exponent-mantissa) with 15 exponent bias. + U32 sem = expand(h), +@@ -1450,6 +1650,16 @@ SI U16 to_half(F f) { + #elif defined(SKRP_CPU_HSW) + return (U16)_mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION); + ++// Disabled for now as this is not a particularly hot function ++// and there is no good reason to lock Chromium to POWER9+ yet. ++#elif 0 && defined(SKRP_CPU_VSX) && __has_builtin(__builtin_vsx_xvcvsphp) ++ __vector unsigned short v = __builtin_vsx_xvcvsphp(f); ++ #if defined(SK_CPU_LENDIAN) ++ return U16{v[0], v[2], v[4], v[6]}; ++ #else ++ return U16{v[1], v[3], v[5], v[7]}; ++ #endif ++ + #else + // Remember, a float is 1-8-23 (sign-exponent-mantissa) with 127 exponent bias. + U32 sem = sk_bit_cast(f), +@@ -1530,7 +1740,7 @@ static constexpr size_t N = sizeof(F) / + // instead of {b,a} on the stack. Narrow stages work best for __vectorcall. + #define ABI __vectorcall + #define SKRP_NARROW_STAGES 1 +-#elif defined(__x86_64__) || defined(SK_CPU_ARM64) || defined(SK_CPU_LOONGARCH) ++#elif defined(__x86_64__) || defined(SK_CPU_ARM64) || defined(SK_CPU_LOONGARCH) || defined(SK_CPU_PPC64) + // These platforms are ideal for wider stages, and their default ABI is ideal. + #define ABI + #define SKRP_NARROW_STAGES 0 +@@ -5600,6 +5810,10 @@ SI F sqrt_(F x) { + float32x4_t lo,hi; + split(x, &lo,&hi); + return join(sqrt(lo), sqrt(hi)); ++#elif defined(SKRP_CPU_VSX) ++ vector float lo,hi; ++ split(x, &lo,&hi); ++ return join(vec_sqrt(lo), vec_sqrt(hi)); + #elif defined(SKRP_CPU_LASX) + __m256 lo,hi; + split(x, &lo,&hi); +@@ -5631,6 +5845,10 @@ SI F floor_(F x) { + __m128 lo,hi; + split(x, &lo,&hi); + return join(_mm_floor_ps(lo), _mm_floor_ps(hi)); ++#elif defined(SKRP_CPU_VSX) ++ vector float lo,hi; ++ split(x, &lo,&hi); ++ return join(vec_floor(lo), vec_floor(hi)); + #elif defined(SKRP_CPU_LASX) + __m256 lo,hi; + split(x, &lo,&hi); +@@ -5650,6 +5868,7 @@ SI F floor_(F x) { + // (2 * a * b + (1 << 15)) >> 16 + // The result is a number on [-1, 1). + // Note: on neon this is a saturating multiply while the others are not. ++// Note: for POWER, the code below was borrowed from emmintrin.h + SI I16 scaled_mult(I16 a, I16 b) { + #if defined(SKRP_CPU_SKX) + return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b); +@@ -5661,6 +5880,22 @@ SI I16 scaled_mult(I16 a, I16 b) { + return vqrdmulhq_s16(a, b); + #elif defined(SKRP_CPU_NEON) + return vqrdmulhq_s16(a, b); ++#elif defined(SKRP_CPU_VSX) ++ const vector unsigned int shift = vec_splats((unsigned int)14); ++ const vector int ones = vec_splats((signed int)1); ++ vector int c = vec_unpackh((vector short)a); ++ vector int d = vec_unpackh((vector short)b); ++ vector int e = vec_unpackl((vector short)b); ++ c = vec_mul(c, d); ++ d = vec_unpackl((vector short)a); ++ d = vec_mul(d, e); ++ c = vec_sr(c, shift); ++ d = vec_sr(d, shift); ++ c = vec_add(c, ones); ++ c = vec_sr(c,(vector unsigned int)ones); ++ d = vec_add(d, ones); ++ d = vec_sr(d,(vector unsigned int)ones); ++ return vec_pack(c, d); + #elif defined(SKRP_CPU_LASX) + I16 res = __lasx_xvmuh_h(a, b); + return __lasx_xvslli_h(res, 1); +@@ -5688,7 +5923,26 @@ SI U16 constrained_add(I16 a, U16 b) { + SkASSERT(-ib <= ia && ia <= 65535 - ib); + } + #endif ++ ++ // Technically, trying to add a signed and unsigned vector invokes undefined behavior ++ // Just because it sort of seems to work on Intel/ARM on Clang doesn't mean it works everywhere... ++ // FIXME: For added fun, the existing Skia unit tests do NOT properly test for issues in the ++ // lowp bilerp path. Investigate and write an appropriate test case... ++#if defined(SKRP_CPU_VSX) ++ // Most POWER compilers end up doing some kind of width promotion that causes memory corruption ++ // and/or incorrect results. This shows up as snow and general graphics corruption, especially ++ // noticeable when trying to display a PNG at less than 50% size (resize the browser window down ++ // until the artifacts appear). ++ // Take the (likely invisible) loss of precision, convert b to a signed int immediately, and do ++ // a proper saturated add here. This seems to fully resolve the issue for all test cases Raptor ++ // has seen so far... ++ // In half precision mode, this function expects both input arguments to have been divided by ++ // two prior to being called, and returns the output without being multiplied back up by two ++ return vec_adds(a, (I16)b); ++#else ++ // Hic Sunt Dragones! + return b + sk_bit_cast(a); ++#endif + } + + SI F fract(F x) { return x - floor_(x); } +@@ -6744,8 +6998,14 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S + // 2^-8 * v = 2^-9 * (tx*(R - L) + (R + L)) + // v = 1/2 * (tx*(R - L) + (R + L)) + auto lerpX = [&](U16 left, U16 right) -> U16 { ++#if defined(SKRP_CPU_VSX) ++ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior ++ I16 width = (I16)(right - left) << 6; ++ U16 middle = (right + left) << 6; ++#else + I16 width = (I16)(right - left) << 7; + U16 middle = (right + left) << 7; ++#endif + // The constrained_add is the most subtle part of lerp. The first term is on the interval + // [-1, 1), and the second term is on the interval is on the interval [0, 1) because + // both terms are too high by a factor of 2 which will be handled below. (Both R and L are +@@ -6757,7 +7017,12 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S + U16 v2 = constrained_add(scaled_mult(tx, width), middle) + 1; + // Divide by 2 to calculate v and at the same time bring the intermediate value onto the + // interval [0, 1/2] to set up for the lerpY. ++#if defined(SKRP_CPU_VSX) ++ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior ++ return v2; ++#else + return v2 >> 1; ++#endif + }; + + const uint32_t* ptr; +@@ -6791,9 +7056,15 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S + I16 width = (I16)bottom - (I16)top; + U16 middle = bottom + top; + // Add + 0x80 for rounding. ++#if defined(SKRP_CPU_VSX) ++ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior ++ U16 blend = constrained_add(scaled_mult(ty, width) / 2, middle / 2) + (0x80 / 2); ++ return blend >> 7; ++#else + U16 blend = constrained_add(scaled_mult(ty, width), middle) + 0x80; +- + return blend >> 8; ++#endif ++ + }; + + r = lerpY(topR, bottomR); +Index: chromium-144.0.7559.59/third_party/skia/src/base/SkVx.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/base/SkVx.h ++++ chromium-144.0.7559.59/third_party/skia/src/base/SkVx.h +@@ -41,7 +41,12 @@ + #endif + + #if SKVX_USE_SIMD +- #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX ++ #if __PPC64__ ++ #define NO_WARN_X86_INTRINSICS ++ #include ++ #include ++ #include ++ #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX + #include + #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41 + #include +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp +@@ -9,7 +9,7 @@ + #include "src/core/SkBlitMask.h" + #include "src/core/SkOptsTargets.h" + +-#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE) ++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE) + + // The order of these includes is important: + // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp +@@ -10,7 +10,7 @@ + #include "src/core/SkOptsTargets.h" + #include "src/core/SkSwizzlePriv.h" + +-#if defined(SK_CPU_X86) && \ ++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && \ + !defined(SK_ENABLE_OPTIMIZE_SIZE) && \ + SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 + +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitMask_opts.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts.cpp +@@ -25,7 +25,7 @@ namespace SkOpts { + static bool init() { + #if defined(SK_ENABLE_OPTIMIZE_SIZE) + // All Init_foo functions are omitted when optimizing for size +- #elif defined(SK_CPU_X86) ++ #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64) + #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 + if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); } + #endif +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts.cpp +@@ -27,7 +27,7 @@ namespace SkOpts { + static bool init() { + #if defined(SK_ENABLE_OPTIMIZE_SIZE) + // All Init_foo functions are omitted when optimizing for size +- #elif defined(SK_CPU_X86) ++ #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64) + #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 + if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); } + #endif +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkCpu.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkCpu.h ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkCpu.h +@@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas + + // If we mask in compile-time known lower limits, the compiler can + // often compile away this entire function. +-#if SK_CPU_X86 ++#if SK_CPU_X86 || defined(SK_CPU_PPC64) + #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 + features |= SSE1; + #endif +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp +@@ -8,7 +8,7 @@ + #include "include/private/base/SkFeatures.h" + #include "src/core/SkOptsTargets.h" + +-#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE) ++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE) + + // The order of these includes is important: + // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget +Index: chromium-144.0.7559.59/third_party/skia/include/private/base/SkFeatures.h +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/include/private/base/SkFeatures.h ++++ chromium-144.0.7559.59/third_party/skia/include/private/base/SkFeatures.h +@@ -63,6 +63,8 @@ + + #if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) + #define SK_CPU_X86 1 ++#elif defined(__powerpc64__) || defined(__PPC64__) ++ #define SK_CPU_PPC64 1 + #endif + + #if defined(__loongarch__) || defined (__loongarch64) +Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkSwizzler_opts.inc +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkSwizzler_opts.inc ++++ chromium-144.0.7559.59/third_party/skia/src/opts/SkSwizzler_opts.inc +@@ -14,7 +14,10 @@ + #include + #include + +-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 ++#if defined(SK_PPC64_HAS_SSE_COMPAT) ++ #include ++ #include ++#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 + #include + #elif defined(SK_ARM_HAS_NEON) + #include +@@ -65,6 +68,33 @@ SI float reciprocal_alpha_times_255(floa + SI float reciprocal_alpha(float a) { + return reciprocal_alpha_portable(a); + } ++#elif defined(SK_PPC64_HAS_SSE_COMPAT) ++// -- VSX -- Harden against timing attacks ++SK_NO_SANITIZE("float-divide-by-zero") ++static inline float reciprocal_alpha_times_255(float a) { ++ SkASSERT(0 <= a && a <= 255); ++ ++ vector float vA{a,a,a,a}; ++ vector float vB{255.0f,255.0f,255.0f,255.0f}; ++ vector float vC{0.0f,0.0f,0.0f,0.0f}; ++ vector float q = vec_div(vB, vA); ++ vector float vCmp{static_cast(vA != vC)}; ++ ++ return vec_and(vCmp, q)[0]; ++} ++ ++SK_NO_SANITIZE("float-divide-by-zero") ++static inline float reciprocal_alpha(float a) { ++ SkASSERT(0 <= a && a <= 1); ++ ++ vector float vA{a,a,a,a}; ++ vector float vB{1.0f,1.0f,1.0f,1.0f}; ++ vector float vC{0.0f,0.0f,0.0f,0.0f}; ++ vector float q = vec_div(vB, vA); ++ vector float vCmp{static_cast(vA != vC)}; ++ ++ return vec_and(vCmp, q)[0]; ++} + #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER)) + // -- SSE -- Harden against timing attacks -- MSVC is not supported. + using F4 = __m128; +Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitter_ARGB32.cpp +=================================================================== +--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp ++++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitter_ARGB32.cpp +@@ -129,6 +129,16 @@ static inline SkPMColor blend_lcd16_opaq + #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 + #include + ++#if defined(SK_CPU_PPC64) ++ /* Load signed 64-bit integer from P into vector element 0. The address need not be 16-byte aligned. */ ++ extern __inline __m128i ++ __attribute__((__gnu_inline__, __always_inline__, __artificial__)) ++ _mm_loadu_si64 (void const *__P) ++ { ++ return _mm_set_epi64((__m64)0LL, *(__m64 *)__P); ++ } ++#endif ++ + // The following (left) shifts cause the top 5 bits of the mask components to + // line up with the corresponding components in an SkPMColor. + // Note that the mask's RGB16 order may differ from the SkPMColor order. diff --git a/sources b/sources index ceafc7f..c0bc4dc 100644 --- a/sources +++ b/sources @@ -1,5 +1,2 @@ -SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea0213cc817c45d3904b634dbf1f4e62e4ebd95bfa4ba0a9c559747d42115406edc471af294334160ba6e103e31d0 -SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd -SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6 -SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d -SHA512 (chromium-119.0.6045.199-clean.tar.xz) = 6442b490fb916172f4a3c4dfac8bf3cda23e2c5781081bf6ca5d3f47739e4e83557943382abd2373f84f83dafc6a3def3a96800ead32a4f9a4226d316ae393ee +SHA512 (node-v22.14.0-stripped.tar.gz) = affddb541009c6d378049c2d7845b981335d9e7aa387efcc472e5efb621c345cd58ca69778a394f7e4ebbb5e4b1a115a389838ef1b6458ef5e98f2071b166e15 +SHA512 (chromium-144.0.7559.59-clean.tar.xz) = 15c866cb35455daac4cbec3dc600966c13f4dff2a1665395fe1f6cc769f614c08cd5ff7819ff0838dcf1201ffc4a04f03ae0c32beed8e44eb8dca24c2fd7e042